设为首页 加入收藏

TOP

currentonlineredologfile丢失的处理方法(三)
2015-07-24 11:16:09 来源: 作者: 【 】 浏览:14
Tags:currentonlineredologfile 丢失 处理 方法
2274688
ora10g.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ora10g/adump'
*.background_dump_dest='/u01/app/oracle/admin/ora10g/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/ora10g/control01.ctl','/u01/app/oracle/oradata/ora10g/control02.ctl','/u01/app/oracle/oradata/ora10g/control03.ctl'#Restore Controlfile
*.core_dump_dest='/u01/app/oracle/admin/ora10g/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ora10g'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora10gXDB)'
*.job_queue_processes=10
*.log_archive_format='%t_%s_%r.dbf'
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/ora10g/udump'
*._allow_resetlogs_corruption=TRUE


--关闭数据库实例,用pfile启动
SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
SQL> startup pfile=$ORACLE_HOME/dbs/initora10g.ora
ORACLE instance started.

Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 100664912 bytes
Database Buffers 180355072 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

--最后用resetlogs打开数据库
SQL> alter database open resetlogs;

Database altered.

SQL>

[oracle@ora10g ora10g]$ ll
total 1051020
-rw-r----- 1 oracle oinstall 7061504 Aug 26 16:03 control01.ctl
-rw-r----- 1 oracle oinstall 7061504 Aug 26 16:03 control02.ctl
-rw-r----- 1 oracle oinstall 7061504 Aug 26 16:03 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Aug 26 16:03 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Aug 26 16:03 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Aug 26 16:03 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Aug 26 16:03 redo03.log
-rw-r----- 1 oracle oinstall 251666432 Aug 26 16:03 sysaux01.dbf
-rw-r----- 1 oracle oinstall 503324672 Aug 26 16:03 system01.dbf
-rw-r----- 1 oracle oinstall 20979712 Aug 26 16:03 temp01.dbf
-rw-r----- 1 oracle oinstall 31465472 Aug 26 16:03 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 Aug 26 16:03 users01.dbf
[oracle@ora10g ora10g]$

再次查看数据文件,发现重新生成了3个online redo logfile了

--resetlogs把SEQUENCE#序列号重新变成1
SQL> select group#,sequence# from v$log;

GROUP# SEQUENCE#
---------- ----------
1 0
2 1
3 0

--测试表只留下了原来的数据库,因为没有commit,新插入的第3条记录丢失,就算commit,也是会丢数据的,因为redo logfile也被删除了

SQL> select * from aaron8219.test1;
INT
----------
1
2
注意,最后要把刚才设置的隐含参数_allow_resetlogs_corruption = true去掉,并重新创建spfile,否则数据库将来会有引起不一致的风险,设置该隐含参数只是下下策,为了能让数据库open而不得已为之,丢失数据库是肯定的了,因为这是在极端情况下得测试,通常只有在丢失了状态为current的online redo logfile才会丢失数据,如果只是inactive的redo logfile,就算使用alter database open resetlogs;也不意味着100%丢数据。另外,要注意的是,当使用using backup controlfile关键词时,必须要配合使用open resetlogs来打开数据库。以resetlogs方式open数据库后,必须重新做一次数据库全备,因为一旦incarnation改变之后,数据库原来的备份集就失效了。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇丢失所有控制文件,noresetlogs重.. 下一篇为什么riak集群最好至少要五个节..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·每日一道面试题-多线 (2025-12-26 06:20:17)
·java项目中哪些地方 (2025-12-26 06:20:14)
·Java真的是要没落了 (2025-12-26 06:20:12)
·C++ Lambda表达式保 (2025-12-26 05:49:45)
·C++ Lambda表达式的 (2025-12-26 05:49:42)