好文档 - 专业文书写作范文服务资料分享网站

Oracle 11g DataGuard 配置详细说明

天下 分享 时间: 加入收藏 我要投稿 点赞

密码文件为orapw(数据库ID),这里为orapwdb1. 6.修改主库初始化参数

在initdb1.ora文件下增加如下参数: [oracle@Oracle11g2 dbs]$ vim initdb1.ora

*.db_name='db1' #注意保持同一个DataGuard中所有数据库DB_NAME相同(物理standby dataguard)。

*.DB_UNIQUE_NAME=pri #为每一个数据库指定一个唯一的名称,该参数一经指定不会再发生变化,除非你主动修改它。

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(pri,dg)' #(启动db接受或发送redo data,包括所有库的db_unique_name)

*.LOG_ARCHIVE_DEST_1= 'LOCATION=/oracleapp/oinstall/oracle/archive

VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pri' #(主库归档目的地)

*.LOG_ARCHIVE_DEST_2= 'SERVICE=dg LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg' #(当该库充当主库角色时,设置物理备库redo data的传输目的地,两种归档方式LGWR ARCn,ARCn只支持最高性能的保护模式;ASYNC异步传输,SYNC同步传输) #*.LOG_ARCHIVE_MAX_PROCESSES=5 (指定归档进程的数量(1-30),默认值通常是4。使用ARCn归档redo时配置参数)

*.LOG_ARCHIVE_DEST_STATE_1=ENABLE #允许redo传输服务传输数据到目的地 *.LOG_ARCHIVE_DEST_STATE_2=ENABLE #允许redo传输服务传输数据到目的地 *.LOG_ARCHIVE_FORMAT=%t_%s_%r.arc #配置日志格式

*.FAL_SERVER=dg #(配置网络服务名,假如转换为备库角色时,从这里获取丢失的归档文件)

*.FAL_CLIENT=pri #(配置网络服务名,fal_server拷贝丢失的归档文件到这里) #*.DB_FILE_NAME_CONVERT='/路径','路径' (前为切换后的主库路径,后为切换后的备库路径,这里主备库目录结构完全一样,则无需设定)

#*.LOG_FILE_NAME_CONVERT='/路径','/路径' (同上,这两个名字转换参数是主备库的路径映射关系,可能会是路径全名,看情况而定)

欢迎下载

6

*.STANDBY_FILE_MANAGEMENT=AUTO (auto后当主库的datafiles增删时备库也同样自动操作,且会把日志传送到备库standby_archive_dest参数指定的目录下,确保该目录存在,如果你的存储采用文件系统没有问题,但是如果采用了裸设备,你就必须将该参数设置为manual)

*.remote_login_passwordfile='EXCLUSIVE' #(exclusive or shared,所有库sys密码要一致,默认是exclusive)

[oracle@Oracle11g1 dbs]$sqlplus / as sysdba

创建主库spfile

sql>startup

pfile='/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs/initdb1.ora'; sql > create spfile from pfile;

7.修改数据库运行在归档模式下 sql>SHUTDOWN IMMEDIATE; sql>STARTUP MOUNT;

sql>ALTER DATABASE ARCHIVELOG; sql> ALTER DATABASE OPEN; 8. 创建备份库需要的控制文件 创建控制文件

sql>Shutdown immediate sql>STARTUP MOUNT;

sql>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/standby.ctl'; sql>ALTER DATABASE OPEN; sql>shutdown immediate; sql> startup

注意哟,控制文件通常需要有多份,你要么手工将上述文件复制几份,要么用命令多创建几个出来。另外,创建完控制文件之后到standby数据库创建完成这段时间内,要保证primary数据库不再有结构性的变化(比如增加表空间等等),不然primary和standby同步时会有问题。

欢迎下载

7

9. 备份生产数据库

这里以复制数据库文件的方式将主库数据库文件拷贝到备份机器上Oracle11g2,先将数据库关闭。

[oracle@Oracle11g1 dbs] scp -rp /oracledata/db1 Oracle11g2:/oracledata/ [oracle@Oracle11g1 dbs]scp –rp /oracleapp/oinstall/oracle/admin/db1 Oracle11g2: /oracleapp/oinstall/oracle/admin (记得在备库创建admin) 在Oracle11g2上删掉数据库的控制文件control01.ctl [oracle@Oracle11g2 ~]rm -rf /oracledata/db1/control01.ctl

将备份的控制文件拷贝到备份机器上,并复制两个备份control02.ctl,control03.ctl [oracle@Oracle11g1 dbs] scp -rp /tmp/standby.ctl Oracle11g2:/oracledata/ db1/control01.ctl 在Oracle11g2上操作

[oracle@Oracle11g2 db1]$ cd /oracledata/db1/ [oracle@Oracle11g2 db1] cp control01.ctl control02.ctl [oracle@Oracle11g2 db1]cp control01.ctl control03.ctl

将control02.ctl复制到/oracleapp/oinstall/oracle/flash_recovery_area/db1 下 先建立db1文件夹

[oracle@Oracle11g2 db1]mkdir /oracleapp/oinstall/oracle/flash_recovery_area/db1 [oracle@Oracle11g2 dbs]cp control02.ctl

/oracleapp/oinstall/oracle/flash_recovery_area/db1/control02.ctl 10.修改备库pfile

将主库的orapwdb1,initdb1.ora文件拷贝到从库

/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs下面 [oracle@Oracle11g1 dbs] scp -rp orapwdb1 Oracle11g2:

/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs/orapwdb1 [oracle@Oracle11g1 dbs] scp -rp initdb1.ora Oracle11g2:

/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs/initdb1.ora 在从库机器上修改initdb1.ora文件参数 [oracle@Oracle11g2 dbs]vim initdb1.ora

欢迎下载

8

*.db_name='db1' #注意保持同一个DataGuard中所有数据库DB_NAME相同。 *.DB_UNIQUE_NAME=dg #为每一个数据库指定一个唯一的名称,该参数一经指定不会再发生变化,除非你主动修改它。

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(pri,dg)' #(启动db接受或发送redo data,包括所有库的db_unique_name)

*.LOG_ARCHIVE_DEST_1= 'LOCATION=/oracleapp/oinstall/oracle/archive

VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg' #(主库归档目的地)

*.LOG_ARCHIVE_DEST_2= 'SERVICE=pri LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pri' #(当该库充当主库角色时,设置物理备库redo data的传输目的地,两种归档方式LGWR ARCn,ARCn只支持最高性能的保护模式;ASYNC异步传输,SYNC同步传输) #*.LOG_ARCHIVE_MAX_PROCESSES=5 (最大ARCn进程数)

*.LOG_ARCHIVE_DEST_STATE_1=ENABLE #允许redo传输服务传输数据到目的地 *.LOG_ARCHIVE_DEST_STATE_2=ENABLE #允许redo传输服务传输数据到目的地 *.LOG_ARCHIVE_FORMAT=%t_%s_%r.arc #配置日志格式

*.FAL_SERVER=pri #(配置网络服务名,假如转换为备库角色时,从这里获取丢失的归档文件)

*.FAL_CLIENT=dg #(配置网络服务名,fal_server拷贝丢失的归档文件到这里) #*.DB_FILE_NAME_CONVERT='/路径','路径' (前为切换后的主库路径,后为切换后的备库路径,这里主备库目录结构完全一样,则无需设定)

#*.LOG_FILE_NAME_CONVERT='/路径','/路径' (同上,这两个名字转换参数是主备库的路径映射关系,可能会是路径全名,看情况而定)

*.STANDBY_FILE_MANAGEMENT=AUTO (auto后当主库的datafiles增删时备库也同样自动操作,且会把日志传送到备库standby_archive_dest参数指定的目录下,确保该目录存在,如果你的存储采用文件系统没有问题,但是如果采用了裸设备,你就必须将该参数设置为manual)

*.remote_login_passwordfile='EXCLUSIVE' #(exclusive or shared,所有库sys密码要一致,默认是exclusive)

欢迎下载

9

11.在备库上创建spfile

[oracle@Oracle11g2 dbs]$sqlplus / as sysdba 创建备库spfile

sql> Shutdown immediate

sql>startup

pfile='/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs/initdb1.ora'; sql > create spfile from pfile; 12.启动物理备用数据库 sql> Shutdown immediate sql>STARTUP MOUNT; 13.配置standby redolog

(最佳性能模式可以忽略,如果要转为其它两种模式则要建立)

分部在Oracle11g1和Oracle11g2上建立standby文件夹,用于standby Redo log [oracle@Oracle11g2 dbs]mkdir /oracledata/db1/standby [oracle@Oracle11g1 dbs]mkdir /oracledata/db1/standby

在主库、从库上都配置standby redo log 在主库查看日志组的数量和每个日志文件的大小 SQL> SELECT GROUP#, BYTES FROM V$LOG; 在备库库查看日志组的数量和每个日志文件的大小 SQL> SELECT GROUP#, BYTES FROM V$STANDBY_LOG; 创建日志组和redo log文件

SQL> ALTER DATABASE ADD STANDBY LOGFILE group 4('//oracledata/db1/standby /slog1.rdo') SIZE 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE group 5 ('/oracledata/db1/standby /slog2.rdo') SIZE 50M;

SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6 ('/oracledata/db1/standby /slog3.rdo') SIZE 50M;

欢迎下载

10

Oracle 11g DataGuard 配置详细说明

—密码文件为orapw(数据库ID),这里为orapwdb1.6.修改主库初始化参数在initdb1.ora文件下增加如下参数:[oracle@Oracle11g2dbs]$viminitdb1.ora*.db_name='db1'#注意保持同一个DataGuard中所有数据库DB_NAME相同(物理standbydat
推荐度:
点击下载文档文档为doc格式
3eed2862aj47hq70zb090vngk58yn6010j7
领取福利

微信扫码领取福利

微信扫码分享