如何在Oracle主目录中创建目录

阿拉米略

我需要在oracle安装文件夹中创建一个oracle目录。就我而言,这条路是D:\app\Administrator\product\11.2.0\dbhome_1我试过了create directory ora_dir as '\',但这可参考D:\有什么方法可以创建指向oracle_home的目录?

问候。

亚历克斯·普尔

如果您已经通过过程动态地执行此操作,则可以通过Java调用获取ORACLE_HOME环境变量(无论如何,该变量是在实例启动时设置的),但是您需要一个单独的函数:

create or replace function getenv(name varchar2) return varchar2
as language java
name 'java.lang.System.getenv(java.lang.String) return java.lang.String';
/

create or replace procedure p42 as
begin
  execute immediate q'[CREATE or replace DIRECTORY DIRECTORY_DIR AS ']'
    || getenv('ORACLE_HOME') || q'[']';
end;
/

假设两个都编译正常,则在执行目录时将使用环境变量的路径创建目录:

exec p42;

PL/SQL procedure successfully completed.

select directory_path
from all_directories
where directory_name = 'DIRECTORY_DIR';

DIRECTORY_PATH
----------------------------------------
/dboracle/orabase/product/11.2.0

如果您的过程在软件包中,则该函数也可以在其中,如果您愿意,也可以私下进行。而且,您不需要任何其他特权即可使用Java调用(create procedure在这种情况下已经拥有)。

不幸的是,这在Windows中不起作用,因为在注册表中而不是环境中设置了ORACLE_HOME可能可以从注册表中获取信息,但您可能还拥有多个Oracle Home,因此您必须确定要使用哪个注册表项。

(如Aramillo所发现的),还有一个[未记录的]内置DBMS_SYSTEM软件包可以提供相同的信息。可以做到的:

create or replace procedure p42 as
  l_oracle_home varchar2(100);
begin
  dbms_system.get_env('ORACLE_HOME', l_oracle_home);
  execute immediate q'[CREATE or replace DIRECTORY DIRECTORY_DIR AS ']'
    || l_oracle_home || q'[']';
end;
/

但是,您需要在该程序包上授予执行许可,并且它的未记录状态可能使您暂停。无论如何,某些功能似乎仅限于SYSDBA(注释159968.1)。

在寻找My Oracle Support寻找DBMS_SYSTEM参考的同时,我也偶然发现了这个选项:

select nvl(substr(file_spec, 1, instr(file_spec, 'lib') -2),
  substr(file_spec, 1, instr(lower(file_spec), 'bin') -2)) as oracle_home
from dba_libraries
where library_name='DBMS_SUMADV_LIB';

...显然也可以在Windows上使用,但是您需要足够的特权才能查看数据字典条目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在主目录中创建目录-Linux

来自分类Dev

如何在主目录中复制主目录?

来自分类Dev

创建新用户时,如何在其主目录中自动创建.virtualenvs目录?

来自分类Dev

创建新用户时,如何在其主目录中自动创建.virtualenvs目录?

来自分类Dev

如何在主目录下创建github页面站点?

来自分类Dev

如何在您的主目录中创建包含字母相对路径的变量$ ldir?

来自分类Dev

如何在Arch Linux上完全删除程序,包括它在主目录中创建的文件?

来自分类Dev

如何在不同分区中创建具有主目录的新用户

来自分类Dev

如何在主目录中添加mimetype图标?

来自分类Dev

如何在Ubuntu 9.04中更改用户的主目录?

来自分类Dev

如何在Java组件中引用Mule主目录

来自分类Dev

如何在Solaris 11中禁用自动主目录功能

来自分类Dev

如何在主目录中列出公共文件?(模式777)

来自分类Dev

如何在主目录中添加mimetype图标?

来自分类Dev

主目录未创建

来自分类Dev

主目录未创建

来自分类Dev

无法创建主目录

来自分类Dev

主目录未创建

来自分类Dev

如何在ubuntu的用户主目录中创建一个名为.ssh的文件夹?

来自分类Dev

如何删除主目录中的错误条目

来自分类Dev

如何在plunker中创建目录?

来自分类Dev

如何在iTextSharp中创建目录

来自分类Dev

如何在javascript中基于#或##创建目录?

来自分类Dev

如何在Windows中创建目录树?

来自分类Dev

如何在根目录中创建别名?

来自分类Dev

如何在Ranger中创建多个目录?

来自分类Dev

如何在Java中创建目录?

来自分类Dev

如何在用户登录时自动为用户创建主目录?

来自分类Dev

在主目录内创建目录的符号链接

Related 相关文章

热门标签

归档