表1数据库管理脚本在操作系统中的物理位置
Oracle中几乎所有的系统管理脚本都保存在该文件目录下,该目录下含有上百个不同文件。这些不同的文件都有什么作用呢?本文将详细讨论组成Oracle数据库管理脚本的命名规范。这样用户看到某个文件大概就可以知道该文件主要用途是什么。该目录下的文件按照功能不同可分为4大类,Oracle为了容易区分这几类不同的文件,对于文件的命名遵从一定的规则。见表2所示。
[NextPage]
下面来详细介绍这四种不同类型的脚本功能:
1、cat*.sql脚本
该类脚本主要用于创建数据字典视图。其中,脚本catalog.sql和catproc.sql是创建数据库后必须要运行的两个脚本。这两个脚本的功能说明见表3所示。
表3创建数据字典视图脚本说明
(1)catalog.sql
该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。该脚本又同时运行创建其他对象的脚本,主要有:
基本PL/SQL环境,包括PL/SQL的声明:
-数据类型
-预定义例外
-内建的过程和函数
-SQL操作等
审计
导入/导出
SQL*Loader
安装选项
(2)catproc.sql
该脚本主要用于建立PL/SQL功能的使用环境。此外,还创建几个PL/SQL包用于扩展RDBMS功能。该脚本同时还为下面的一些RDBMS功能创建另外的一些包和视图:
警告(Alerts)
管道(Pipes)
日志分析(LogMiner)
大对象(Largeobjects)
对象(Objects)
高级队列(Advancedqueuing)
复制选项(Replicationoption)
其他的一些内建包和选项(Otherbuilt-insandoptions)
(3)其他脚本
在该目录下还有其他一些脚本用来扩展Oracle数据库服务器功能。如,catadt.sql脚本用来创建RDBMS中用来显示兆数据信息的数据字典视图。catnoadt.sql脚本用来删除这些表和视图。
2、dbms*.sql和prvt*.plb脚本
这两类脚本用来创建扩展Oracle服务器功能的系统预定义的一些Oracle包的对象。这些程序均用来完成数据库管理任务。大多数的SQL脚本在运行catproc.sql脚本时被执行。一些额外的脚本必须由数据库管理员另外单独执行。例如,dbmspool.sql脚本,用来显示在共享池中对象的大小并且为了减少共享池碎块可以将其在SGA中标记为保持或可删除。
3、utl*.sql脚本
该类脚本只有在数据库需要另外的视图和表时才需要运行。例如,脚本utlxplan.sql,用来创建一个表,该表用于观察SQL语句的运行计划(ExecutionPlan)。
需要注意的是,绝大多数数据库管理脚本都必须在用户SYS下运行。数据库管理员如果打算运行这些脚本,最好首先阅读脚本内容中的相关信息,了解应该以什么用户来运行这些脚本。
上一页