发布网友 发布时间:2022-04-22 02:28
共1个回答
热心网友 时间:2023-10-04 09:12
如何恢复一个被误drop的存储过程
--此方法,适用开启归档模式的Oracle数据库
当你DROP掉存储过程时,首先
SQL>dropprocereselect_data;
SQL>altersystemswitchlogfile;--切换日志
系统已更改。
查看flash_recovery_area文件下下最新的归档日志
SQL>connsysassysdba;--使用sys用户连接
SQL>showparameterutl
NAMETYPEVALUE
-----------------------------------------------------------------------------
create_stored_outlinesstring
utl_file_dirstring
设置utl_file_dir路径
--单实例环境
SQL>altersystemsetutl_file_dir='d:demo'scope=spfile;
--RAC环境
SQL>altersystemsetutl_file_dir='d:demo'scope=spfilesid='*';
重启数据库
SQL>Shutdownimmediate
SQL>Startup;
建立字典文件(环境为windows)
--dict.ora为文件名d:\demo,为路径名
SQL>executedbms_logmnr_d.build('dict.ora','d:\logmnr',dbms_logmnr_d.store_in_flat_file);
PL/SQL过程已成功完成。
建立日志分析列表
SQL>executedbms_logmnr.add_logfile(logfilename=>'E:\app\ZT\flash_recovery_area\lyz\ARCHIVELOG\2012_11_21\O1_MF_1_29_8BRJ6S2J_.ARC',options=>dbms_logmnr.new);
PL/SQL过程已成功完成。
--继续添加日志
SQL>executedbms_logmnr.add_logfile(logfilename=>'E:\app\ZT\flash_recovery_area\lyz\ARCHIVELOG\2012_11_21\O1_MF_1_30_8BRJSY77_.ARC',options=>dbms_logmnr.addfile);
PL/SQL过程已成功完成。
启动LogMiner
SQL>executedbms_logmnr.start_logmnr (dictfilename=>'D:\logmnr\dict.ora',options=>dbms_logmnr.ddl_dict_tracking);
PL/SQL过程已成功完成。