ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10g的两个Standby相关参数standby_file_management,db_file_name_convert

10g的两个Standby相关参数standby_file_management,db_file_name_convert

原创 Linux操作系统 作者:tolywang 时间:2007-10-25 00:00:00 0 删除 编辑

今天同事安装Oralce10gStandby, 发现有一些参数虽然和Oracle9i 一样(非新加入),但是在操作层面却不一样。Standby相关参数standby_file_managementdb_file_name_convert Oracle9i 默认设置和Oracle10g一样,都是standby_file_management=manual , db_file_name_convert 为空。


SQL*Plus: Release 10.2.0.1.0 - Production on Thu Oct 25 15:03:34 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options

SQL>
SQL>
SQL> show parameter standby_file_management

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string MANUAL


SQL> show parameter db_file_name_convert

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
SQL>

我们采用手工拷贝archived file 然后恢复的方式,观察到 如果不重新设置这两个参数(默认值),那么:

Oracle9i :

在正式数据库中加入一个datafile , Standby上归档恢复到需要这个新文件的时候,会提示需要加入这个文件,然后通过在standby上手工加入即可:

Alter database create datafile primary db上目录下的新数据文件‘ as standby某个目录下的新数据文件’ ; standby上的目录可以与primary db上的目录不一样,ps : 当然这也是db_file_name_convert 这个参数的作用

Oracle10g :

在正式数据库中加入一个datafile , Standby上归档恢复到需要这个新文件的时候,

会提示需要加入这个文件,然后通过在standby上手工加入即可:

Alter database create datafile primary db上目录下的新数据文件‘ as standby某个目录下的新数据文件’ ;

这个时候会报错,

ORA-01112: media recovery not started

SQL> alter database create datafile '/u01/product/oradata/qis/log_data03.dbf' as '/data/qis/log_data03.dbf';

alter database create datafile '/u01/product/oradata/qis/log_data03.dbf' as '/data/qis/log_data03.dbf'

*

ERROR at line 1:

ORA-01516: nonexistent log file, datafile, or tempfile

"/u01/product/oradata/qis/log_data03.dbf"

Standby上查看是否有文件生成,发现新文件生成在/u01/product/oracle/dbs/ 下面 。 但是到OS上的这个目录查找却没有这个文件实体存在 (见下面)

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/data/qis/system01.dbf

/data/qis/undotbs01.dbf

/data/qis/sysaux01.dbf

/data/qis/users01.dbf

/data/qis/log_data01.dbf

/data/qis/log_idx01.dbf

/data/qis/blobs01.dbf

/data/qis/log_idx02.dbf

/data/qis/log_data02.dbf

/u01/product/oracle/dbs/UNNAMED00010 ---- 新添加的數据文件standby被改名為UNNAMEDnnnnn格式的文件,default 存放位置$ORACLE_HOME/dbs/

10 rows selected.

Standby上使用如下语句运行后可以恢复正常, /data/qis/ 目录下也正常添加了新文件log_data03.dbf.

SQL> alter database create datafile '/u01/product/oracle/dbs/UNNAMED00010' as '/data/qis/log_data03.dbf';

Database altered.

SQL> recover standby database

ORA-00279: change 632026 generated at 10/25/2007 09:13:03 needed for thread 1

ORA-00289: suggestion : /data/qis/arch/1_9_636816195.arc

ORA-00280: change 632026 for thread 1 is in sequence #9

------------------------------------------------------------------------------

结论: 如果Primary DB Standby db上目录稳定,那么一般设置

standby_file_management = AUTO Primarydb上加入新文件后自动在Standby上自动加入。
db_file_name_convert
= '/arch1/boston/','/arch1/chicago/','/arch2/boston/','/arch2/chicago/' 可以设置多组Primary db上及standby db上的对应目录

当然logfile也是可以添加的:LOG_FILE_NAME_CONVERT

db_file_name_convert 后面的目录注意: /data/sid/ 对应 /data1/sid/ ,不要 /data/sid/ 对应 /data1/sid ( 没有后面那个 / , 这样会出现问题 )。 或者 /data/sid 对应 /data1/sid , 总之前后格式一致。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84970/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13378482