创建一个数据库看起来容易,做起来难。若是手动来创建的话,就需要对数据库的内容必须了解,知道各个功能可以执行哪些脚本后可以使用。因此本文收集一些oracle中的rdbms及其他目录的一些脚本说明及使用方法。
$ORACLE_HOME 这个路径就不写了,只写相对路径。这些脚本若不会使用,不知道是否添加参数,就先打开脚本,查看页头的说明,就明白是否需要执行时写入参数。
1. @?/rdbms/admin/catlog.sql
执行这个脚本后,创建数据库的统计视图,审计视图。
2. @?/rdbms/admin/catexp.sql
执行这个脚本后,数据库具有导入导出功能,即可以使用exp、imp、expdp、impdp。
3. @?/rdbms/admin/catproc.sql
数据库具有pl/sql的使用功能。
4. @?/rdbms/admin/cataudit.sql
创建审计数据字典视图
5. @?/rdbms/admin/ownctab.plb
@?/rdbms/admin/owmaggrs.plb
@?/rdbms/admin/owmaggrb.plb
这三个脚本的执行是用来创建wmsys用户,要使用列转行函数wm_concat函数。但是要注意这个函数不能写到程序来做,因为这个函数在不同的oracle版本中返回的字段类型不一样,10.2.0.5以上返回的是clob类型,之前的是varchar2类型。
6. @?/rdbms/admin/catblock.sql
创建有关locks的视图,包括DBA_KGLLOCK、DBA_LOCKS、DBA_LOCK_INTERNAL、DBA_DML_LOCKS、DBA_DDL_LOCKS、DBA_WAITERS、DBA_BLOCKERS
7. @?/rdbms/admin/catexp7.sql
解决不同版本的EXp兼容问题。
8. @?/rdbms/admin/catjobq.sql
创建关于job的视图。
9. @?/rdbms/admin/utlxplan.sql
创建使用autotrace跟踪工具,执行完这个脚本后,再执行:CREATE PUBLIC SYNONYM PLAN_TABLE FOR PLAN_TABLE;GRANT ALL ON PLAN_TABLE TO PUBLIC;
10. @?/sqlplus/admin/plustrce.sql(注意:这是sqlplus目录下的脚本)
创建plustrace角色,grant plustrace to public 这样所有用户都可以使用autotrace跟踪工具。
11. @?/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';