日期:2014-05-16 浏览次数:20501 次
ORACLE 中的RAC特性保护的是实例,RMAN特性保持的是数据,而Dataguard特性则是连实例带数据一块"保"了,三个特性相互配合能够在一定程度上构建一个安全可靠高可用的ORACLE数据库平台。
之前三思笔记系列文章分别描述过RAC的创建、RMAN管理以及Dataguard特性应用等方面的内容,本文将通过实践,演示如何为RAC数据库创建Dataguard配置。
Dataguard 环境的配置就跟谈恋爱似的,不是一个人说了算,必须要两个人(Primary?db+Standby?db)相互配合。不过在这两个真正搭上线之前,临出门拾掇拾掇还是非常有必要的,最起码得照照镜子,看看眼神够不够犀利,腰肢够不够芙蓉,做好往前推三百年,往后推三百年,总共六百年无人超越的思想准备。
我个人认为,DBA是个很严谨的岗位,因此同样要求从事这项工作的人也尽可能严谨,准备这个事儿呢,是为了让后续的操作更稳妥。对于Dataguard环境的创建,这个准备并不复杂,就当是环境初始化吧,如果看过之前的三思笔记--一步一步学Dataguard,那么本步准备工作就可以直接跳过了。
设定环境如下:
Primary :
Db_unique_name :jssdb
IP :192.168.10.11/12
DB?Version :10.2.0.4
Storage :ASM
Standby :
Db_unique_name :jssstd
IP :192.168.10.101
DB?Version :10.2.0.4
Storage :local?disk准备工作如下:
SQL>?select?name?from?v$datafile;
NAME
--------------------------------------------------------------------
+ASMDISK1/jssdb/datafile/system.260.703671683
+ASMDISK1/jssdb/datafile/undotbs1.259.703671695
+ASMDISK1/jssdb/datafile/sysaux.266.703671697
+ASMDISK1/jssdb/datafile/undotbs2.258.703671705
+ASMDISK1/jssdb/datafile/users.257.703671709
+ASMDISK1/jssdb/datafile/jsstbs.269.703779631
6?rows?selected.
SQL>?select?name?from?v$tempfile;
NAME
----------------------------------------------------------------------
+ASMDISK1/jssdb/tempfile/temp.265.703671701
SQL>?select?member?from?v$Logfile;
MEMBER
---------------------------------------------------------------------
+ASMDISK1/jssdb/onlinelog/group_1.263.703671679
+ASMDISK1/jssdb/onlinelog/group_2.261.703671681
+ASMDISK1/jssdb/onlinelog/group_3.256.703672257
+ASMDISK1/jssdb/onlinelog/group_4.268.703672257要启动Standby端的实例,需要相应的初始化参数文件,这里我们可以通过Primary?spfile创建出Standby的pfile,操作方法不需要多说了吧,最后修改的standby端pfile内容如下(注意确保相关路径的正确哟):
*.audit_file_dest=¨/data/ora10g/admin/jssstd/adump¨
*.background_dump_dest=¨/data/ora10g/admin/jssstd/bdump¨
*.compatible=¨10.2.0.1.0¨
*.control_files=¨/data1/jssstd/control01.ctl¨,¨/data1/jssstd/control02.ctl¨,¨/data1/jssstd/control03.ctl¨
*.core_dump_dest=¨/data/ora10g/admin/jssstd/cdump¨
*.db_block_size=8192
*.db_domain=¨¨
*.db_file_multiblock_read_count=16
*.db_name=¨jssdb¨
*.db_unique_name=¨jssstd¨
*.job_queue_processes=10
*.log_archive_dest_1=¨location=/data1/jssstd/arclog?valid_for=(all_logfiles,all_roles)?db_unique_name=jssstd¨
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile=¨exclusive¨
*.sga_target=283115520
*.undo_management=¨AUTO¨
*.undo_tablespace=¨UNDOTBS1¨
*.user_dump_dest=¨/data/ora10g/admin/jssstd/udump¨
提示一点,此时尚未添加任何与dataguard相关的初始化参数,接下来就要对此进行处理,增加参数如下:
*.log_archive_config=¨dg_config=(jssdb,jssstd)¨
*.standby_file_management=¨AUTO¨
*.db_file_name_convert=¨+ASMDISK1/jssdb/datafile¨,¨/data1/jssstd¨,¨+ASMDISK1/jssdb/tempfile¨,¨/data1/jssstd¨
*.log_file_name_convert=¨+ASMDISK1/jssdb/onlinelog¨,¨/data1/jssstd¨
*.fal_server=jssdb
*.fal_client=jssstd由于asm存储文件时自动进行了分目录处理,因此这里在设置db_file_name_convert参数时,也要注意设置相应的转换,否则可能导致文件创建时出错的,切记切记。
客户端初