dataguard创建物理备库几个关键参数详解
来源:互联网 发布:保密局检查软件 编辑:程序博客网 时间:2024/04/25 03:50
oracle的dataguard创建其实并不难,尤其是在11G中可以用RMAN active duplicate创建standby后,
dataguard的创建变得非常的简单便捷,如果熟悉dataguard的各项参数的意义和用法后,基本上一个脚本就能完成。
下面是我总结的一些dataguard的要点和几个关键参数详解。
要点1:listener.ora与tnsnames.ora
listener.ora是配置静态监听的文件,下面是一个最标准的静态监听配置文件
LISTENER =
( DESCRIPTION =
(ADDRESS = (HOST = 192.168.0.88)(PROTOCOL = TCP)(PORT = 1521))
)
SID_LIST_LISTENER =
( SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ceshi)
(ORACLE_HOME=/opt/oracle/product/11.2.0)
(SID_NAME = test)
)
)
LISTENER是监听名,SID_LIST_LISTENER部分的GLOBAL_DBNAME表示向外提供的服务名(SERVICE_NAME)(可以不需要,但建议
加上去,并且把它和SID_NAME设成一样的,这里为了方便表述,有所区别);SID_NAME是提供注册的实例名(SID或INSTANCE_NAME)。
下面是与之对应的tnsnames.ora配置
TESTTNS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.88)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ceshi)或(SID=test)
(SERVER = DEDICATED)——可有可无
)
)
这里tnsname是TESTTNS,在后面需要用到,所以起个好名字好记又好区分。
在主备库都设好监听,配置好tns后,相互用tnsping一下对方,看能否通信。
要点2:主库的log_archive_dest_n(n>=2)
这是dataguard重做传输的主要参数,通常在主库上发挥作用。log_archive_dest_n参数有许多,其中log_archive_dest_1是本地
归档目的地,从log_archive_dest_2开始设置备库目的地。下面是一个简单的log_archive_dest_2示例:
log_archive_dest_2=‘service=TESTTNS LGWR ASYNC valid_for(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=test'
这里TESTTNS就是在tnsnames.ora配置的tnsname,LGWR在以前版本中有用到,现在完全可以忽视不用,这里是为了习惯,ASYNC
是异步传输的意思,与之相反的是SYNC,也就是同步传输,ASYNC是默认模式,没必要非要指定它,为了理解,我们还是加上,valid_for
里面有两个参数,第一个是日志文件的值,第二个是角色值,它是一个必需的参数,可以使用默认,但强烈不建议你使用默认,如果你在设
立一个备库的目的地,强烈建议你想我一样设置,它表示当归档ORL文件,并且当前数据库是主库角色时log_archive_dest_2有效;
valid_for的参数其他合法值请百度;db_unique_name的值是备库的db_unique_name,默认值是跟主库的db_unique_name,也就是说
如果主备库的db_unique_name一样,你也可以不设置,但建议还是设一下,这个db_unique_name与下面说到的log_archive_config是有
相关性的,主要是为了RAC数据库。log_archive_dest_2还有其他一些其他参数,不设置不影响使用。所以假设你要在创建dataguard备机,
上面的足够了,而且你在主(备)库设置的时候,只需要替换service和db_unique_name即可.
有了log_archive_dest_n,主库就会主动去联系备库,让备库接收归档日志。
要点3:备库FAL_SERVER和FAL_CLIENT
前面的log_archive_dest_n,主库可以给备库传正在归档的日志,但如果备库缺少一些早些时候的归档日志怎么办?首先,主库是不会去
查备库却不缺少归档日志的,备库才会自己查,自己缺少哪些归档日志,所以这个时候备库要去主库找归档日志,那这个主库是谁?
这个时候FAL_SERVER就起作用了,它会告诉备库这个主库的tnsname,备库根据这个tnsname找到主库,并告诉主库自己缺少的归档日志。备库
告诉主库自己缺少归档日志时,会同时把FAL_CLIENT的值告诉主库,这个FAL_CLIENT的值要对应主库的tnsname.ora文件里的备库的tnsname
,这样主库就知道自己该往哪传,传哪些归档日志了。事实上如果我同时有两个甚至更多备库,其中一个备库缺少归档日志,除了去主库找外,
也可以去其他备库找,也就是说FAL_SERVER的值可以是多个,例如:FAL_SERVER='PRIMARY,STANDBY2',当然FAL_CLIENT有且只有一个。
其他参数的推荐设置:
standby_file_management='auto'——用于物理备库,表示在主库添加数据文件时,备库也同时添加
db_unique_name——数据库唯一名称,主备库一样都没关系,最好和SID一样,好记
log_archive_config——枚举所有主备库的db_unique_name,把所有主备库的db_unique_name加上去就行了
例如:log_archive_config=‘dg_config=(test,test1)'
有了上面这几个参数,基本上就足够了,前提是主备库的目录一致(数据文件目录,日志文件目录,归档日志文件目录呀都一样)。话说,做
备库不就是要一样的吗。所以做备库最好这些目录都跟主库一致。
记住3个要点和下面的3个参数,做dataguard时就会心中有数,不会这也错,那也错。在我做dataguard的过程中,99%的出错都跟上面
dataguard的创建变得非常的简单便捷,如果熟悉dataguard的各项参数的意义和用法后,基本上一个脚本就能完成。
下面是我总结的一些dataguard的要点和几个关键参数详解。
要点1:listener.ora与tnsnames.ora
listener.ora是配置静态监听的文件,下面是一个最标准的静态监听配置文件
LISTENER =
( DESCRIPTION =
(ADDRESS = (HOST = 192.168.0.88)(PROTOCOL = TCP)(PORT = 1521))
)
SID_LIST_LISTENER =
( SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ceshi)
(ORACLE_HOME=/opt/oracle/product/11.2.0)
(SID_NAME = test)
)
)
LISTENER是监听名,SID_LIST_LISTENER部分的GLOBAL_DBNAME表示向外提供的服务名(SERVICE_NAME)(可以不需要,但建议
加上去,并且把它和SID_NAME设成一样的,这里为了方便表述,有所区别);SID_NAME是提供注册的实例名(SID或INSTANCE_NAME)。
下面是与之对应的tnsnames.ora配置
TESTTNS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.88)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ceshi)或(SID=test)
(SERVER = DEDICATED)——可有可无
)
)
这里tnsname是TESTTNS,在后面需要用到,所以起个好名字好记又好区分。
在主备库都设好监听,配置好tns后,相互用tnsping一下对方,看能否通信。
要点2:主库的log_archive_dest_n(n>=2)
这是dataguard重做传输的主要参数,通常在主库上发挥作用。log_archive_dest_n参数有许多,其中log_archive_dest_1是本地
归档目的地,从log_archive_dest_2开始设置备库目的地。下面是一个简单的log_archive_dest_2示例:
log_archive_dest_2=‘service=TESTTNS LGWR ASYNC valid_for(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=test'
这里TESTTNS就是在tnsnames.ora配置的tnsname,LGWR在以前版本中有用到,现在完全可以忽视不用,这里是为了习惯,ASYNC
是异步传输的意思,与之相反的是SYNC,也就是同步传输,ASYNC是默认模式,没必要非要指定它,为了理解,我们还是加上,valid_for
里面有两个参数,第一个是日志文件的值,第二个是角色值,它是一个必需的参数,可以使用默认,但强烈不建议你使用默认,如果你在设
立一个备库的目的地,强烈建议你想我一样设置,它表示当归档ORL文件,并且当前数据库是主库角色时log_archive_dest_2有效;
valid_for的参数其他合法值请百度;db_unique_name的值是备库的db_unique_name,默认值是跟主库的db_unique_name,也就是说
如果主备库的db_unique_name一样,你也可以不设置,但建议还是设一下,这个db_unique_name与下面说到的log_archive_config是有
相关性的,主要是为了RAC数据库。log_archive_dest_2还有其他一些其他参数,不设置不影响使用。所以假设你要在创建dataguard备机,
上面的足够了,而且你在主(备)库设置的时候,只需要替换service和db_unique_name即可.
有了log_archive_dest_n,主库就会主动去联系备库,让备库接收归档日志。
要点3:备库FAL_SERVER和FAL_CLIENT
前面的log_archive_dest_n,主库可以给备库传正在归档的日志,但如果备库缺少一些早些时候的归档日志怎么办?首先,主库是不会去
查备库却不缺少归档日志的,备库才会自己查,自己缺少哪些归档日志,所以这个时候备库要去主库找归档日志,那这个主库是谁?
这个时候FAL_SERVER就起作用了,它会告诉备库这个主库的tnsname,备库根据这个tnsname找到主库,并告诉主库自己缺少的归档日志。备库
告诉主库自己缺少归档日志时,会同时把FAL_CLIENT的值告诉主库,这个FAL_CLIENT的值要对应主库的tnsname.ora文件里的备库的tnsname
,这样主库就知道自己该往哪传,传哪些归档日志了。事实上如果我同时有两个甚至更多备库,其中一个备库缺少归档日志,除了去主库找外,
也可以去其他备库找,也就是说FAL_SERVER的值可以是多个,例如:FAL_SERVER='PRIMARY,STANDBY2',当然FAL_CLIENT有且只有一个。
其他参数的推荐设置:
standby_file_management='auto'——用于物理备库,表示在主库添加数据文件时,备库也同时添加
db_unique_name——数据库唯一名称,主备库一样都没关系,最好和SID一样,好记
log_archive_config——枚举所有主备库的db_unique_name,把所有主备库的db_unique_name加上去就行了
例如:log_archive_config=‘dg_config=(test,test1)'
有了上面这几个参数,基本上就足够了,前提是主备库的目录一致(数据文件目录,日志文件目录,归档日志文件目录呀都一样)。话说,做
备库不就是要一样的吗。所以做备库最好这些目录都跟主库一致。
记住3个要点和下面的3个参数,做dataguard时就会心中有数,不会这也错,那也错。在我做dataguard的过程中,99%的出错都跟上面
的设置有关系。
0 0
- dataguard创建物理备库几个关键参数详解
- Dataguard物理备库创建
- oracle dataguard 物理备库创建(留着)
- dataguard之创建物理备库
- oracle rman duplicate 创建dataguard物理备库
- DataGuard 物理备库配置
- Oracle12cR1 DataGuard物理备库详细说明
- 虚拟机实现dataguard物理备库
- dataguard之管理物理备库
- DataGuard参数配置详解
- DataGuard参数配置详解
- Dataguard逻辑备库创建
- DataGuard物理standby配置 - 参数文件设置
- 【DataGuard安装】通过Grid Control创建物理DataGuard
- RAC环境下创建物理DATAGUARD
- dataguard 物理备库转换成逻辑备库
- Oracle DataGuard物理备库快速实战演示-视频分享
- RMAN冷拷贝搭建dataguard物理备库
- android httpurlconnection 上传文件 附加 账号和密码
- prop 与attr的区别
- 十六进制转十进制
- 关于Intent.FLAG_ACTIVITY_CLEAR_TOP
- 默染江山——oc之Foundation
- dataguard创建物理备库几个关键参数详解
- Web前端:11个让你代码整洁的原则
- AFNetworking2.5使用
- Google Volley使用笔记,下载源码编译打包
- 算术基本定理。。。
- 有关dataguard错误ORA-16057
- 初学spring mvc
- rdp协议解读
- RSA算法原理(一)