14.3.2 提取数据字典 将数据字典提取到平面文件中的一个潜在问题是,当正在提取数据字典的时候,其他人可能正在发送DDL语句。因此,提取出的数据字典可能和数据库不同步。相比于使用重做日志文件,使用平面文件来存储数据字典时需要更少的系统资源。 当提取

14.3.2 提取数据字典

将数据字典提取到平面文件中的一个潜在问题是,当正在提取数据字典的时候,其他人可能正在发送DDL语句。因此,提取出的数据字典可能和数据库不同步。相比于使用重做日志文件,使用平面文件来存储数据字典时需要更少的系统资源。

当提取数据字典到重做日志文件时,在提取数据字典的过程中不能处理DDL语句。因此,字典将会和数据库同步。提取过程更加耗费资源,但是更为迅速。

为了将数据字典提取到平面文件或重做日志文件中,可以使用DBMS_LOGMNR_D.BUILD程序。数据字典文件放置在一个目录中。因此,必须拥有放置该文件的目录的写权限。为了定义目录的位置,使用初始化参数UTL_FILE_DIR。例如,为了指定位置D:\Oracle\Ora10\database作为LogMiner的输出位置,将以下的记录项放在参数文件中:

UTL_FILE_DIR= D:\Oracle\Ora10\database
登录后复制

注意:

不能使用alter system命令动态地改变UTL_FILE_DIR参数。必须修改初始化文件,然后停止并重启数据库。

为了执行DBMS_LOGMNR_D.BUILD程序,必须为目录指定文件名,为文件指定目录路径名,并指定希望将目录写入到平面文件中还是重做日志文件中。为了将数据字典提取到位于G:\Oracle\Ora10\database目录中的文件名为mydb_dictionary的平面文件中,可以发出如下命令:

execute DBMS_LOGMNR_D.BUILD
('mydb_dictionary.ora',
'G:\Oracle\Ora10\database',
options=>DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);
登录后复制

可以使用DBMS_LOGMNR_D.STORE_IN_FLAT_FILE作为其他的可选项。

一旦将字典存储在平面文件中,可以将它复制到另一个平台来运行LogMiner。可能需要运行其他数据库上的dbmslmd.sql来建立正确的环境。可以在Unix系统上的$ORACLE_HOME\rdbms\admin目录中找到dbmslmd.sql文件。


【责任编辑:董书 TEL:(010)68476606】


回书目 上一节 下一节

原文:14.3.2 提取数据字典返回读书频道首页

09-18 23:27