SQL> insert into test3 values('gg',23);
已创建 1 行。
SQL> insert into test3 values('dd',23);
已创建 1 行。
SQL> select table_name from tabs;
TABLE_NAME
------------------------------
TEST3
TEST1
TEST2
BIN$K4Kfx2caT2OIjGOnnWzmCw==$0
备份.
+++++++++++++++++++++++++++++++
删掉test3,<把表空间去掉,进行恢复,>
至恢复表空间,则test3 应该不在了. 把表空间去掉,进行恢复,
SQL> select table_name from tabs;
TABLE_NAME
------------------------------
BIN$5nfrrycbSRud6Pbb60pudA==$0
TEST1
TEST2
BIN$K4Kfx2caT2OIjGOnnWzmCw==$0
+++++++++++++++++++++++++++++++
删掉test3,<把表空间去掉,进行恢复,>
恢复全表,则test3应该还在.
SQL> select table_name from tabs;
TABLE_NAME
------------------------------
TEST3
TEST1
TEST2
BIN$K4Kfx2caT2OIjGOnnWzmCw==$0
+++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++
把所有文件去掉,进行恢复,
++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
删掉test3,<drop表,>
至恢复表空间,则test3 应该不在了. 把表空间去掉,进行恢复,
SQL> conn cc/password;
已连接。
SQL> select table_name from tabs;
TABLE_NAME
------------------------------
BIN$JReaMqFgQPaTx0LH45j1jQ==$0
TEST1
TEST2
BIN$K4Kfx2caT2OIjGOnnWzmCw==$0
+++++++++++++++++++++++++++++++
删掉test3,<drop表,>
恢复全表,则test3应该还在.
SQL> conn cc/password;
已连接。
SQL> select table_name from tabs;
TABLE_NAME
------------------------------
TEST3
TEST1
TEST2
BIN$K4Kfx2caT2OIjGOnnWzmCw==$0
+++++++++++++++++++++++++++++++++
发现了,如果要恢复后的东西完全不变,
一定要把D:/oracle/product/10.1.0/flash_recovery_area
所有的ARCHIVE LOG去掉。否则就会回滚到最近的时间。
总结:
1。用CA备份表空间的时候,一定要记得把数据库置于联机状态,否则就会报错。(说敲入错误的用户名)
备份的时候,对备份的内容也有一些要求,具体如下:
注意:如果选择 ~ARCHIVE LOG,则代理将备份存档日志目录下的所有存档
日志文件。如果选择控制文件,则必须仅选择控制文件,或选择控制文件和其
他所有表空间;否则备份作业就会失败。
2。用CA 还原数据库的时候,如果只还原表空间,只需要把表空间置于非联机状态下(offline),再进行还原操作。如果还原整个数据库,必须把整个库 shutdown,(注意这个时候在services 里面 listener 和database是起来的),再进行还原。否则还原也会报错。
3。记得还原之后要执行 RECOVER DATABASE 操作来恢复数据库,还要以
open resetlogs 方式来打开数据库。否则是打不开表空间的。
4。如果要恢复备份后被正常操作 drop 掉的数据,必须要有之前备份的
ARCHIVELOG 下的内容,在还原操作之前记得把以前的 archivelog删除。
这样恢复的时候就不会把以后的操作也恢复。被drop掉的数据也能还原。
本文详细介绍了使用Oracle Control Center (CA) 进行数据库备份与恢复的过程,包括备份表空间的具体步骤、注意事项以及如何正确地恢复数据库。文章还强调了在不同场景下恢复操作的关键点,如恢复被误删的数据等。
510

被折叠的 条评论
为什么被折叠?



