Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

3

积分

0

好友

0

主题
1#
发表于 2012-3-4 19:04:29 | 查看: 5156| 回复: 4
有个问题想请教下你,我的测试平台是windows 10G的DG


备库正常关闭后,重启standby,想以只读方式打开standby

SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  209715200 bytes
Fixed Size                  1248164 bytes
Variable Size              83887196 bytes
Database Buffers          121634816 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。


SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-16004: 备份数据库需要恢复
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\SYSTEM01.DBF'


SQL> alter database recover managed standby database  using current logfile disconnect from session

数据库已更改。

SQL> alter database recover managed standby database  cancel;

数据库已更改。


SQL> startup force
ORACLE 例程已经启动。

Total System Global Area  209715200 bytes
Fixed Size                  1248164 bytes
Variable Size              83887196 bytes
Database Buffers          121634816 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
ORA-16004: 备份数据库需要恢复
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\SYSTEM01.DBF'

查看当前standby的redolog 发现个怪问题没有重启之前备库的redo01,redo02,redo03的路径为E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2,
但重启后又变成 PERM2变成了PERM22


SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                                                        IS_
---------- ------- ------- -------------------------------------------------------------------------------- ---
         3         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM22\REDO03.LOG                                NO
         2         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM22\REDO02.LOG                                NO
         1         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM22\REDO01.LOG                                NO
         4         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO04.LOG                          NO
         5         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO05.LOG                          NO
         6         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO06.LOG                          NO
         7         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO07.LOG                          NO

更改备库的standby_file_management

SQL> alter system set STANDBY_FILE_MANAGEMENT='MANUAL';

系统已更改。


SQL> ALTER DATABASE RENAME FILE
  2  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM22\REDO03.LOG'
  3  TO
  4  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO03.LOG';

数据库已更改。

SQL> ALTER DATABASE RENAME FILE
  2  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM22\REDO02.LOG'
  3  TO
  4  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO02.LOG';

数据库已更改。


SQL> ALTER DATABASE RENAME FILE
  2  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM22\REDO01.LOG'
  3  TO
  4  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO01.LOG';

数据库已更改。




SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                                                        IS_
---------- ------- ------- -------------------------------------------------------------------------------- ---
         3         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO03.LOG                                NO
         2         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO02.LOG                                NO
         1         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO01.LOG                                NO
         4         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO04.LOG                          NO
         5         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO05.LOG                          NO
         6         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO06.LOG                          NO
         7         STANDBY E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO07.LOG                          NO                                                                                                                                   NO

已选择7行。

SQL> ALTER DATABASE   RECOVER MANAGED STANDBY DATABASE  DISCONNECT FROM SESSION;

数据库已更改。

SQL> ALTER DATABASE   RECOVER MANAGED STANDBY DATABASE

数据库已更改。

SQL> ALTER DATABASE OPEN;

数据库已更改。


我重命名standby redolog路径后才能正常打开standby,到现在还没找到原因为啥E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2这个路径为啥变成了PERM22
2#
发表于 2012-3-4 19:11:00
action plan:

show parameter  log_file

select fnnam,fnonm from x$kccfn;


贴出以上输出

回复 只看该作者 道具 举报

3#
发表于 2012-3-5 08:42:13

回复 2# 的帖子

SQL>select fnnam,fnonm from x$kccfn;
FNNAM                                                                  FNONM
---------------------------------------------------------------------- ----------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO01.LOG                      E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO01.LOG
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO02.LOG                      E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO02.LOG
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO03.LOG                      E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO03.LOG
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\USERS01.DBF                     E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\USERS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\SYSAUX01.DBF                    E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\SYSAUX01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\UNDOTBS01.DBF                   E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\UNDOTBS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\SYSTEM01.DBF                    E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\SYSTEM01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\TEMP01.DBF                      E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\TEMP01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO04.LOG                E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO04.LOG
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO05.LOG                E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO05.LOG
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO06.LOG                E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO06.LOG

FNNAM                                                                  FNONM
---------------------------------------------------------------------- ----------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO07.LOG                E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\STDBY_REDO07.LOG


已选择13行。

SQL> show parameter log_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert                string      E:\oracle\product\10.2.0\orada
                                                 ta\perm, E:\oracle\product\10.
                                                 2.0\oradata\perm2
SQL>

我看到了,我的log_file_name_convert有问题,我的实验环境主库和备库两边的路径是一样的,而这里一个是perm一个是perm2 是这个原因造成的?

回复 只看该作者 道具 举报

4#
发表于 2012-3-5 21:34:34
你的原始 路径的 log file 是

”E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO01.LOG“

而你的 log_file_name_convert =  'E:\oracle\product\10.2.0\oradata\perm,E:\oracle\product\10.2.0\oradata\perm2'

Syntax     LOG_FILE_NAME_CONVERT = 'string1' , 'string2' , 'string3' , 'string4' , ...

Where:

    string1 is the pattern of the primary database filename

    string2 is the pattern of the standby database filename

    string3 is the pattern of the primary database filename

    string4 is the pattern of the standby database filename


log_file_name_convert =  'E:\oracle\product\10.2.0\oradata\perm,E:\oracle\product\10.2.0\oradata\perm2'

即 找到 匹配的 E:\oracle\product\10.2.0\oradata\perm 替换成 E:\oracle\product\10.2.0\oradata\perm2

原始路径 是
”E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM2\REDO01.LOG“

红色部分 是匹配的 string pattern of the standby database filename

那么 替换后自然就是

"E:\ORACLE\PRODUCT\10.2.0\ORADATA\PERM22\REDO03.LOG"



安装配置Data Guard 前 一定要把这些 参数的意义搞明白, 否则拿了安装文档 即使一次装成了 也不能保证以后, 而且  troubleshooting会非常累 , 究其原因就是 对参数不理解。

回复 只看该作者 道具 举报

5#
发表于 2012-3-6 08:35:07

回复 4# 的帖子

感触颇深,以前真没太理会这个参数 受教了! 很感谢maclean

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-24 04:23 , Processed in 0.045080 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569