数据库归档以及flashbak
2009-02-23 13:03
176 查看
数据库归档以及flashbak
1:列出归档信息日志
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4
Next log sequence to archive 6
Current log sequence 6
2:查看归档日志位置
SQL> select name,value from v$parameter where name =’log_archive_dest1’;
SQL>select name,value from v$parameter where name=’log_archive_format’;
SQL>select name,value from v$parameter where name=’db_recovery_file_dest’;
SQL> select value from v$parameter where name='db_recovery_file_dest';
或SQL>show parameter db_recovery_file_dest;
Db_recovery_file_dest string /ora10gBase/flashback_recovery_area
Db_recovery_file_dest_size integer 2G
VALUE
--------------------------------------------------------------------------------
/ora10gBase/flash_recovery_area
3: 将归档日志根据日期存放在不同子目录下
• /oradata/[SID]/archivelog/[yyyy-mm-dd]/.arc
SQL>alter system set archive_log_format=’/oradata/[SID]/archivelog/[yyyy-mm-dd]/.arc
4:flashback 操作
– 启动flashback
– 加大UNDO_RETENTION的值86400
– 使用Flashback恢复一个被删除的表
• 设置数据库参数,
– 启动归档日志和闪回
» 设置需要闪回的表属性options
– Enable Row Movement -> yes
• 闪回表
– 删除一个表中的记录delete from scott.dept,再闪回
• 执行Flashback Versions Query
– 修改一条记录,再闪回
SQL>shutdown immediate;
SQL> startup mount exclusive;
ORACLE instance started.
Total System Global Area 197132288 bytes
Fixed Size 1218484 bytes
Variable Size 67110988 bytes
Database Buffers 125829120 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter system set recyclebin=on scope=both;--开启recyclebin
System altered.
SQL> alter system set db_flashback_retention_target=14400 scope=both;
System altered.
SQL> alter database archivelog;
Database altered.
SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4
Next log sequence to archive 6
Current log sequence 6
--修改undo_retention 为20分钟
SQL> select 20*60*60 from dual;
20*60*60
----------
72000
SQL> alter system set undo_retention=72000 scope=both;
System altered.
--解锁用户scott 进行相关的增加,删除,更新操作
SQL> alter user scott identified by tiger account unlock;
User altered.
SQL> grant resource to scott;
Grant succeeded.
SQL> conn scott/tiger;
Connected.
SQL> alter user scott identified by tiger account unlock;
User altered.
SQL> grant resource to scott;
Grant succeeded.
SQL> conn scott/tiger;
Connected.
--进行flashback操作之前,需要先把row movement 打开
SQL>alter table dept enable row movement;
---进行更新删除操c作
SQL> create table test(id number(4),name varchar2(30));
Table created.
SQL> insert into test values(1,'TEST');
1 row created.
SQL> insert into test values(2,'Fuck');
1 row created.
SQL> commit;
Commit complete.
SQL> drop table test;
Table dropped.
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST BIN$Xkza01ABRArgQAB/AQARTw==$0 TABLE 2008-12-18:15:08:08
---从recyclebin中查询被删除的数据信息
SQL> select * from "BIN$Xkza01ABRArgQAB/AQARTw==$0";
ID NAME
---------- ------------------------------
1 TEST
2 Fuck
--从recyvlebin中恢复被删除的表
SQL> flashback table test to before drop;
Flashback complete.
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
TEST
--恢复后recyclebin中的信息也相应的消失啦
SQL> show recyclebin;
4:purge 表操作
1:列出归档信息日志
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4
Next log sequence to archive 6
Current log sequence 6
2:查看归档日志位置
SQL> select name,value from v$parameter where name =’log_archive_dest1’;
SQL>select name,value from v$parameter where name=’log_archive_format’;
SQL>select name,value from v$parameter where name=’db_recovery_file_dest’;
SQL> select value from v$parameter where name='db_recovery_file_dest';
或SQL>show parameter db_recovery_file_dest;
Db_recovery_file_dest string /ora10gBase/flashback_recovery_area
Db_recovery_file_dest_size integer 2G
VALUE
--------------------------------------------------------------------------------
/ora10gBase/flash_recovery_area
3: 将归档日志根据日期存放在不同子目录下
• /oradata/[SID]/archivelog/[yyyy-mm-dd]/.arc
SQL>alter system set archive_log_format=’/oradata/[SID]/archivelog/[yyyy-mm-dd]/.arc
4:flashback 操作
– 启动flashback
– 加大UNDO_RETENTION的值86400
– 使用Flashback恢复一个被删除的表
• 设置数据库参数,
– 启动归档日志和闪回
» 设置需要闪回的表属性options
– Enable Row Movement -> yes
• 闪回表
– 删除一个表中的记录delete from scott.dept,再闪回
• 执行Flashback Versions Query
– 修改一条记录,再闪回
SQL>shutdown immediate;
SQL> startup mount exclusive;
ORACLE instance started.
Total System Global Area 197132288 bytes
Fixed Size 1218484 bytes
Variable Size 67110988 bytes
Database Buffers 125829120 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter system set recyclebin=on scope=both;--开启recyclebin
System altered.
SQL> alter system set db_flashback_retention_target=14400 scope=both;
System altered.
SQL> alter database archivelog;
Database altered.
SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4
Next log sequence to archive 6
Current log sequence 6
--修改undo_retention 为20分钟
SQL> select 20*60*60 from dual;
20*60*60
----------
72000
SQL> alter system set undo_retention=72000 scope=both;
System altered.
--解锁用户scott 进行相关的增加,删除,更新操作
SQL> alter user scott identified by tiger account unlock;
User altered.
SQL> grant resource to scott;
Grant succeeded.
SQL> conn scott/tiger;
Connected.
SQL> alter user scott identified by tiger account unlock;
User altered.
SQL> grant resource to scott;
Grant succeeded.
SQL> conn scott/tiger;
Connected.
--进行flashback操作之前,需要先把row movement 打开
SQL>alter table dept enable row movement;
---进行更新删除操c作
SQL> create table test(id number(4),name varchar2(30));
Table created.
SQL> insert into test values(1,'TEST');
1 row created.
SQL> insert into test values(2,'Fuck');
1 row created.
SQL> commit;
Commit complete.
SQL> drop table test;
Table dropped.
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST BIN$Xkza01ABRArgQAB/AQARTw==$0 TABLE 2008-12-18:15:08:08
---从recyclebin中查询被删除的数据信息
SQL> select * from "BIN$Xkza01ABRArgQAB/AQARTw==$0";
ID NAME
---------- ------------------------------
1 TEST
2 Fuck
--从recyvlebin中恢复被删除的表
SQL> flashback table test to before drop;
Flashback complete.
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
TEST
--恢复后recyclebin中的信息也相应的消失啦
SQL> show recyclebin;
4:purge 表操作
相关文章推荐
- 创建表空间以及用户,授予权限,查看表空间名称及大小,物理文件的名称及大小,数据库的创建日期和归档方式,数据库的版本,数据库库对象,表空间的使用情况,表空间读写
- 数据库的三大范式以及五大约束
- 查看oracle数据库是否归档和修改归档模式
- 如何用标准的odbc sql接口访问wincc归档数据库
- Windows下Mysql忘记密码,以及数据库备份
- mysql 导入导出数据库以及函数、存储过程
- 例题:学习数据库查询。学生信息表的创建,主外键关系,以及45道题的查询实例。主要知识点在讲页45页,和讲页65页
- 数据库的脏读、不可重复读、幻读以及不可重复读和幻读的区别
- Oracle11g创建表空间语句以及ORA-01109:数据库未打开(解决办法)
- 获取数据库中的表以及视图名称
- 对于数据库操作可能会遇到的问题(空值问题以及出现的参数不能被重复使用问题)
- VS2010连接数据库的操作(SQLServer2005/2008 以及Access2007/2003等)
- 原始的jdbc连接数据库以及操作(小总结)
- 关于过去工作的一些总结:常用sql语句以及数据库查询优化
- 全栈工程师必备技能--前端开发、后台开发、移动开发以及第三方开发微信公众号...界面设计、产品设计、数据库
- Oracle修改数据库为非归档模式
- oralce10g 归档目录空间满导致归在线重做日志文件无法归档。最后数据库不能正常使用
- JDBC的使用五大步骤以及查询操作-数据库编程(二)
- 用Transact-SQL代码实现创建数据库、数据库表、以及设置数据库表的约束
- Java自学之路-Java基础教程-36:Java的数据库连接操作以及外部jar包导入