首頁 > 資料庫 > mysql教程 > 在Oracle中增进SCN及案例介绍

在Oracle中增进SCN及案例介绍

WBOY
發布: 2016-06-07 17:16:51
原創
1044 人瀏覽過

在Oracle中增进SCN及案例介绍,然后尝试连接别的用户,连接成功。最后exp整个数据库,重建数据库后导入数据,整个数据库恢复成功

在Oracle数据库中我们可以利用oracle的内部事件调整SCN。增进SCN通常有两种常用方法:

1.alter session set events 'IMMEDIATE trace name ADJUST_SCN level x';
--需要数据库OPEN

2.通过10015事件
alter session set events '10015 trace name adjust_scn level x';
--在数据库无法打开,mount状态下。
注:level 1为增进SCN 10亿 (1 billion) (1024*1024*1024=1073741824)

测试:
SQL> select dbms_flashback.get_system_change_number from dual;
 
GET_SYSTEM_CHANGE_NUMBER
------------------------
                 571904
 
SQL> alter session set events 'IMMEDIATE trace name ADJUST_SCN level 1';
Session altered
 
--10g的告警日志会报这样的错:
Tue Mar 31 17:01:00 2009
Errors in file c:\oracle\product\10.2.0\admin\orasjh\udump\orasjh_ora_2208.trc:
ORA-01031: 权限不足
查看trace文件,有这样的报错:
...
Clearing ORA-1031 thrown by trace 'ADJUST_SCN'
----- Dump for trace 'ADJUST_SCN': -----
*** 2009-03-31 17:01:00.828
ksedmp: internal or fatal error
ORA-01031: 权限不足
Current SQL statement for this session:
...
 
我在9i测试是没问题的。
 
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
             1073766630
 
在测试一下在数据库关闭的情况下SCN的增进。
 
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
 
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  147921840 bytes
Fixed Size                   453552 bytes
Variable Size             121634816 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter session set events '10015 trace name adjust_scn level 10';
会话已更改。
SQL> alter database open;
数据库已更改。
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
             1.0737E+10
SQL>

linux

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板