Oracle flashback database to scn 实战
来源:互联网 发布:windows phone磁贴 编辑:程序博客网 时间:2024/05/01 13:41
SQL> select * from user_tables where table_name like '%TEST%';
未选定行
SQL> select (table_name) from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> discon;
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn /as sysdba;
已连接。
SQL> shutdown;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> flashback database wdb to scn 728829;
闪回完成。
SQL> alter database wdb open resetlogs;
数据库已更改。
SQL> discon
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn scott/huaqin@wdb;
已连接。
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
729799
SQL> who;
SP2-0042: 未知命令 "who" - 其余行忽略。
SQL> shutdown;
ORA-01031: 权限不足
SQL> conn /as sysdba;
已连接。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
##################################################
# 1.修改数据库为非归档模式 #
##################################################
SQL> alter database NOARCHIVELOG;
alter database NOARCHIVELOG
*
第 1 行出现错误:
ORA-38774: 无法禁用介质恢复 - 闪回数据库已启用
SQL> select open_mode from V$database;
OPEN_MODE
----------
MOUNTED
SQL> shutdown;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
SQL> alter database noarchive;
alter database noarchive
*
第 1 行出现错误:
ORA-02231: ALTER DATABASE ???????
SQL> alter database noarchives;
alter database noarchives
*
第 1 行出现错误:
ORA-02231: ALTER DATABASE ???????
SQL> alter database flashback off;
alter database flashback off
*
第 1 行出现错误:
ORA-01507: ??????
SQL> alter database mount;
数据库已更改。
SQL> alter database flashback off;
数据库已更改。
SQL> alter database noarchivelog;
数据库已更改。
SQL> select flashback_on,log_mode from v$database;
FLASHBACK_ON LOG_MODE
------------------ ------------
NO NOARCHIVELOG
##################################################
# 2.打开数据库 #
##################################################
SQL> alter database open;
数据库已更改。
SQL> conn scott/huaqin@wdb;
已连接。
SQL> desc recyclebin;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
OBJECT_NAME NOT NULL VARCHAR2(30)
ORIGINAL_NAME VARCHAR2(32)
OPERATION VARCHAR2(9)
TYPE VARCHAR2(25)
TS_NAME VARCHAR2(30)
CREATETIME VARCHAR2(19)
DROPTIME VARCHAR2(19)
DROPSCN NUMBER
PARTITION_NAME VARCHAR2(32)
CAN_UNDROP VARCHAR2(3)
CAN_PURGE VARCHAR2(3)
RELATED NOT NULL NUMBER
BASE_OBJECT NOT NULL NUMBER
PURGE_OBJECT NOT NULL NUMBER
SPACE NUMBER
SQL> select object_name ,type from recyclebin;
未选定行
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> create table test(log_date date);
表已创建。
SQL> insert into test values (sysdate);
已创建 1 行。
##################################################
# 3.获取插入数据之后的scn #
##################################################
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
731999
SQL> select * from test;
LOG_DATE
--------------
08-8月 -07
SQL> delete from test;
已删除 1 行。
##################################################
# 4.获取删除数据之后的scn #
##################################################
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
732023
SQL> commit;
提交完成。
SQL> select * from test;
未选定行
SQL> insert into test values (sysdate);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test;
LOG_DATE
--------------
08-8月 -07
##################################################
# 5.插入数据之后的SCN #
##################################################
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
732065
SQL> delete from test;
已删除 1 行。
SQL> commit;
提交完成。
SQL> select * from test;
未选定行
##################################################
# 6.删除数据之后的SCN #
##################################################
SQL> select current_scn from V$Database;
CURRENT_SCN
-----------
732093
SQL> conn /as sysdba;
已连接。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database flashback on;
alter database flashback on
*
第 1 行出现错误:
ORA-38706: 无法启用 FLASHBACK DATABASE 事件记录。
ORA-38707: 尚未启用介质恢复。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database flashback on;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> conn scott/huaqin@wdb;
已连接。
SQL> select * from test;
未选定行
SQL> flashback database to scn 732065;
flashback database to scn 732065
*
第 1 行出现错误:
ORA-01031: 权限不足
SQL> conn /as sysdba;
已连接。
SQL> flashback database to scn 732065;
flashback database to scn 732065
*
第 1 行出现错误:
ORA-38757: 要闪回数据库, 数据库必须已装载但不能打开。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
##################################################################################
# 7.因为之恢复之前前没有打开归档模式,也没有打开FSASHBACK特性,所以闪回数据库失败# #
##################################################################################
SQL> flashback database to scn 732065;
flashback database to scn 732065
*
第 1 行出现错误:
ORA-38729: 执行 FLASHBACK 的闪回数据库日志数据不足。
SQL> alter database open;
数据库已更改。
########################################
#察看是否已经打开归档模式和flashback特性
########################################
SQL> select open_mode,log_mode from v$database;
OPEN_MODE LOG_MODE
---------- ------------
READ WRITE ARCHIVELOG
SQL> select open_mode,log_mode,flashback_on from v$database;
OPEN_MODE LOG_MODE FLASHBACK_ON
---------- ------------ ------------------
READ WRITE ARCHIVELOG YES
SQL> conn scott/huaqin@wdb
已连接。
SQL> select * from test;
未选定行
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
732863
SQL> insert into test values(sysdate);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test;
LOG_DATE
--------------
08-8月 -07
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
732884
SQL> discon;
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn /as sysdba;
已连接。
SQL> shutdown;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> flashback database to scn 732863;
闪回完成。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlog;
alter database open resetlog
*
第 1 行出现错误:
ORA-02288: 无效的 OPEN 模式
SQL> alter database open resetlogs;
数据库已更改。
SQL> conn scott/huaqin@wdb;
已连接。
##################################################
# 成功恢复到插入数据之前 #
##################################################
SQL> select * from test;
未选定行
SQL>
未选定行
SQL> select (table_name) from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> discon;
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn /as sysdba;
已连接。
SQL> shutdown;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> flashback database wdb to scn 728829;
闪回完成。
SQL> alter database wdb open resetlogs;
数据库已更改。
SQL> discon
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn scott/huaqin@wdb;
已连接。
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
729799
SQL> who;
SP2-0042: 未知命令 "who" - 其余行忽略。
SQL> shutdown;
ORA-01031: 权限不足
SQL> conn /as sysdba;
已连接。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
##################################################
# 1.修改数据库为非归档模式 #
##################################################
SQL> alter database NOARCHIVELOG;
alter database NOARCHIVELOG
*
第 1 行出现错误:
ORA-38774: 无法禁用介质恢复 - 闪回数据库已启用
SQL> select open_mode from V$database;
OPEN_MODE
----------
MOUNTED
SQL> shutdown;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
SQL> alter database noarchive;
alter database noarchive
*
第 1 行出现错误:
ORA-02231: ALTER DATABASE ???????
SQL> alter database noarchives;
alter database noarchives
*
第 1 行出现错误:
ORA-02231: ALTER DATABASE ???????
SQL> alter database flashback off;
alter database flashback off
*
第 1 行出现错误:
ORA-01507: ??????
SQL> alter database mount;
数据库已更改。
SQL> alter database flashback off;
数据库已更改。
SQL> alter database noarchivelog;
数据库已更改。
SQL> select flashback_on,log_mode from v$database;
FLASHBACK_ON LOG_MODE
------------------ ------------
NO NOARCHIVELOG
##################################################
# 2.打开数据库 #
##################################################
SQL> alter database open;
数据库已更改。
SQL> conn scott/huaqin@wdb;
已连接。
SQL> desc recyclebin;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
OBJECT_NAME NOT NULL VARCHAR2(30)
ORIGINAL_NAME VARCHAR2(32)
OPERATION VARCHAR2(9)
TYPE VARCHAR2(25)
TS_NAME VARCHAR2(30)
CREATETIME VARCHAR2(19)
DROPTIME VARCHAR2(19)
DROPSCN NUMBER
PARTITION_NAME VARCHAR2(32)
CAN_UNDROP VARCHAR2(3)
CAN_PURGE VARCHAR2(3)
RELATED NOT NULL NUMBER
BASE_OBJECT NOT NULL NUMBER
PURGE_OBJECT NOT NULL NUMBER
SPACE NUMBER
SQL> select object_name ,type from recyclebin;
未选定行
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> create table test(log_date date);
表已创建。
SQL> insert into test values (sysdate);
已创建 1 行。
##################################################
# 3.获取插入数据之后的scn #
##################################################
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
731999
SQL> select * from test;
LOG_DATE
--------------
08-8月 -07
SQL> delete from test;
已删除 1 行。
##################################################
# 4.获取删除数据之后的scn #
##################################################
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
732023
SQL> commit;
提交完成。
SQL> select * from test;
未选定行
SQL> insert into test values (sysdate);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test;
LOG_DATE
--------------
08-8月 -07
##################################################
# 5.插入数据之后的SCN #
##################################################
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
732065
SQL> delete from test;
已删除 1 行。
SQL> commit;
提交完成。
SQL> select * from test;
未选定行
##################################################
# 6.删除数据之后的SCN #
##################################################
SQL> select current_scn from V$Database;
CURRENT_SCN
-----------
732093
SQL> conn /as sysdba;
已连接。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database flashback on;
alter database flashback on
*
第 1 行出现错误:
ORA-38706: 无法启用 FLASHBACK DATABASE 事件记录。
ORA-38707: 尚未启用介质恢复。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database flashback on;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> conn scott/huaqin@wdb;
已连接。
SQL> select * from test;
未选定行
SQL> flashback database to scn 732065;
flashback database to scn 732065
*
第 1 行出现错误:
ORA-01031: 权限不足
SQL> conn /as sysdba;
已连接。
SQL> flashback database to scn 732065;
flashback database to scn 732065
*
第 1 行出现错误:
ORA-38757: 要闪回数据库, 数据库必须已装载但不能打开。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
##################################################################################
# 7.因为之恢复之前前没有打开归档模式,也没有打开FSASHBACK特性,所以闪回数据库失败# #
##################################################################################
SQL> flashback database to scn 732065;
flashback database to scn 732065
*
第 1 行出现错误:
ORA-38729: 执行 FLASHBACK 的闪回数据库日志数据不足。
SQL> alter database open;
数据库已更改。
########################################
#察看是否已经打开归档模式和flashback特性
########################################
SQL> select open_mode,log_mode from v$database;
OPEN_MODE LOG_MODE
---------- ------------
READ WRITE ARCHIVELOG
SQL> select open_mode,log_mode,flashback_on from v$database;
OPEN_MODE LOG_MODE FLASHBACK_ON
---------- ------------ ------------------
READ WRITE ARCHIVELOG YES
SQL> conn scott/huaqin@wdb
已连接。
SQL> select * from test;
未选定行
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
732863
SQL> insert into test values(sysdate);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test;
LOG_DATE
--------------
08-8月 -07
SQL> select current_scn from V$database;
CURRENT_SCN
-----------
732884
SQL> discon;
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn /as sysdba;
已连接。
SQL> shutdown;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> flashback database to scn 732863;
闪回完成。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlog;
alter database open resetlog
*
第 1 行出现错误:
ORA-02288: 无效的 OPEN 模式
SQL> alter database open resetlogs;
数据库已更改。
SQL> conn scott/huaqin@wdb;
已连接。
##################################################
# 成功恢复到插入数据之前 #
##################################################
SQL> select * from test;
未选定行
SQL>
- Oracle flashback database to scn 实战
- Oracle Flashback之Flashback database
- Oracle Flashback之flashback database
- oracle flashback database
- oracle flashback database
- ORACLE FLASHBACK DATABASE 总结
- oracle dg flashback database
- Oracle Flashback技术之Flashback Database
- ORACLE FLASHBACK DATABASE 知识整理
- 【Oracle】探究recover database until scn
- Displays information relevant to flashback database
- Oracle Flashback技术总结(一)—— Flashback Database
- Oracle 闪回特性(FLASHBACK DATABASE)
- Oracle Flashback Database and Restore Points 说明
- Oracle Flashback Database闪回恢复
- Oracle 闪回特性(FLASHBACK DATABASE)
- Oracle 闪回特性(FLASHBACK DATABASE)
- Oracle 闪回特性(FLASHBACK DATABASE)
- 转载:Collection -> .Net集合类型大全,只要灵活运用可以节省很多开发时间和提高程序运行效率
- .NET多线程编程(3):线程同步
- 良知、质量、信用 阳光的讲师生涯——天地英才诚聘
- 索引:C#之Collection探讨
- 使用 .NET Compact Framework 2.0 生成 Wi-Fi 发现应用程序
- Oracle flashback database to scn 实战
- 网页编程----js键盘事件小应用
- .NET多线程编程(4):线程池和异步编程
- [RFC 3320] 信令压缩(SigComp)(一)
- JAVA通过JNI调用本地C语言方法
- Developing Smart Device WiFi Applications with the .NET Compact Framework
- 关于VB.NET中动态设置控件坐标的使用心得休会
- 软件项目管理之六:产品目标
- php编程----PHPFANS站长常用的一些函数