ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 10.2.0.3使用Logminor工具和把system表空间变成locally

Oracle 10.2.0.3使用Logminor工具和把system表空间变成locally

原创 Linux操作系统 作者:xin2v 时间:2009-03-19 14:56:17 0 删除 编辑

数据库是10.2.0.3,SID=compard
I logminor
1.判断utl_file_dir这个参数是否设置
show parameter utl_file_dir
2.生成数据字典信息
exec  dbms_logmnr_d.build(dictionary_filename=>'compard.ora',dictionary_location=>'/usr/tmp');
在结束的时候出现下面这个错误:

ORA-01301: error writing to file during flat file build
ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 1675
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 3474
ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 3552
ORA-06512: at "SYS.DBMS_LOGMNR_D", line 12
ORA-06512: at line 1
metalink上面的解决方案如下: bug5518651
Solution
Do the following to recreate logminer objects:

SQL> connect / as sysdba
> spool logrun.txt
drop table SYSTEM.LOGMNR_SESSION$;
 @?/rdbms/admin/dbmslm.sql
 @?/rdbms/admin/prvtlm.plb
 @?/rdbms/admin/dbmslmd.sql
@?/rdbms/admin/prvtlmd.plb
 @?/rdbms/admin/prvtlmc.plb
.*Note: the spool step is not required but will record errors if needed for further analysis.                     


不过我没有管他,因为此时数据字典文件已经产生。最后我重新试了一下,其实按照metalink上的solution做了之后,还有这个错误。
3.添加分析对象,在线离线日志都可以。
 exec dbms_logmnr.add_logfile(logfilename=>'/uattest/uat/db/apps_st/data/log03b.dbf',options=>dbms_logmnr.new);
这里的options选项有三个参数可以用:
NEW - 表示创建一个新的日志文件列表
ADDFILE - 表示向这个列表中添加日志文件,一次分析多个日志
REMOVEFILE - 和addfile相反。

4.开始分析:exec dbms_logmnr.start_logmnr(DictFileName =>'/usr/tmp/compard.ora');

5.结束分析:execute dbms_logmnr.end_logmnr;
6.察看结果:
select scn,cscn,TIMESTAMP,sql_undo from v$logmnr_contents;

II:把system表空间变成local
shutdown immediate
startup restrict
select 'alter tablespace '||tablespace_name||' read only;' from dba_tablespaces
除了sysaux,temporary,unod不可以外。

alter tablespace SYSAUX offline;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
如果有2个以上的temporary tablespace需要drop一个
drop tablespace temp1;
 execute DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL ('SYSTEM');

alter tablespace SYSAUX online;
select 'alter tablespace '||tablespace_name||' read write;' from dba_tablespaces
where status='READ ONLY';
select status from dba_tablespaces;
alter system disable restricted session或者重新启动数据库
然后shutdown immediate
startup

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10325341/viewspace-573122/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle RMAN测试
请登录后发表评论 登录
全部评论

注册时间:2009-03-19

  • 博文量
    45
  • 访问量
    64441