转自:http://www.cnblogs.com/mybook/articles/2825370.html

创建一个数据库看起来容易,做起来难。若是手动来创建的话,就需要对数据库的内容必须了解,知道各个功能可以执行哪些脚本后可以使用。因此本文收集一些oracle中的rdbms及其他目录的一些脚本说明及使用方法。

$ORACLE_HOME 这个路径就不写了,只写相对路径。这些脚本若不会使用,不知道是否添加参数,就先打开脚本,查看页头的说明,就明白是否需要执行时写入参数。

1.  @?/rdbms/admin/catlog.sql     

    执行这个脚本后,创建数据库的统计视图,审计视图。

  1. @?/rdbms/admin/catexp.sql

  执行这个脚本后,数据库具有导入导出功能,即可以使用exp、imp、expdp、impdp。

  1. @?/rdbms/admin/catproc.sql

   数据库具有pl/sql的使用功能。

  1. @?/rdbms/admin/cataudit.sql

创建审计数据字典视图

  1. @?/rdbms/admin/ownctab.plb

@?/rdbms/admin/owmaggrs.plb

@?/rdbms/admin/owmaggrb.plb

  这三个脚本的执行是用来创建wmsys用户,要使用列转行函数wm_concat函数。但是要注意这个函数不能写到程序来做,因为这个函数在不同的oracle版本中返回的字段类型不一样,10.2.0.5以上返回的是clob类型,之前的是varchar2类型。

  1. @?/rdbms/admin/catblock.sql

   创建有关locks的视图,包括DBA_KGLLOCK、DBA_LOCKS、DBA_LOCK_INTERNAL、DBA_DML_LOCKS、DBA_DDL_LOCKS、DBA_WAITERS、DBA_BLOCKERS

  1. @?/rdbms/admin/catexp7.sql

  解决不同版本的EXp兼容问题。

  1. @?/rdbms/admin/catjobq.sql

  创建关于job的视图。

  1. @?/rdbms/admin/utlxplan.sql

   创建使用autotrace跟踪工具,执行完这个脚本后,再执行:CREATE PUBLIC SYNONYM PLAN_TABLE FOR PLAN_TABLE;GRANT ALL ON PLAN_TABLE TO PUBLIC;

  1. @?/sqlplus/admin/plustrce.sql(注意:这是sqlplus目录下的脚本)

  创建plustrace角色,grant plustrace to public  这样所有用户都可以使用autotrace跟踪工具。

  1. @?/rdbms/admin/spcreate.sql

  配置statspack,创建了perfstat用户,并在执行的过程中会提示输入该用户使用的表空间和临时表空间。

  若执行失败,则先执行@?/rdbms/admin/spdrop.sql卸载用户和创建的视图,然后再执行上面的创建脚本。

12.@?/rdbms/admin/dbmshord.sql

  DBMS_REDEFINITION,在线重定义各种类型的方法。执行以上脚本后,需要赋权限:

ALTER ANY TABLE
 CREATE ANY TABLE
 DROP ANY TABLE
 LOCK ANY TABLE
 SELECT ANY TABLE

 The following privileges may be required too:
 CREATE ANY INDEX
 CREATE ANY TRIGGER

在使用的过程中可能会报:PLS-00201: identifier 'DBMS_REDEFINITION' must be declared

但是我们已经创建了该包还是会报,就需要给相应的用户赋予使用的权限。

GRANT ALL ON SYS.DBMS_REDEFINITION TO TEST;  这样就解决了上述问题。

13.@?/rdbms/admin/dbmsutil.sql   针对的是DBMS_SYSTEM

GRANT EXECUTE ON DBMS_SYSTEM TO username;

14.@?/javavm/install/initjvm.sql  针对缺少DBMS_JAVA

  执行该脚本后可以在oracle中添加java代码

15.@?/javavm/install/initjvma.sql  安装java组件。

   14和15必须一起安装,oracle才能正常使用java功能。

select * from v$option t where t.PARAMETER='Java';

select distinct owner,name from dba_source where lower(NAME)='dbms_java';

Related Posts