Oracle 单实例Active Data Dataguard

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 2.Oracle 11g Data Guard物理备库创建过程 1)创建主库数据文件的备份 最常用的方法是使用RMAN工具完成,这样可以实现不停库的部署;还可以使用冷备完成。 因为这里实现的是主库和备库都在一台主机

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

2.Oracle 11g Data Guard物理备库创建过程

1)创建主库数据文件的备份

最常用的方法是使用RMAN工具完成,这样可以实现不停库的部署;还可以使用冷备完成。

因为这里实现的是主库和备库都在一台主机上,因此,这里使用冷备的方式生成数据文件的备份,并放到备库对应的目录下。

(1)关闭数据库

sys@ora11g> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

(2)主库数据文件的备份

ora11g@secdb /home/oracle$ cd /u01/app/oracle/oradata/ora11g/

ora11g@secdb /u01/app/oracle/oradata/ora11g$ ls -l

total 1.7G

-rw-r----- 1 oracle oinstall 9.4M Mar 15 21:47 control01.ctl

-rw-r----- 1 oracle oinstall 9.4M Mar 15 21:47 control02.ctl

-rw-r----- 1 oracle oinstall 51M Mar 15 21:46 redo01.log

-rw-r----- 1 oracle oinstall 51M Mar 15 21:46 redo02.log

-rw-r----- 1 oracle oinstall 51M Mar 15 21:47 redo03.log

-rw-r----- 1 oracle oinstall 51M Mar 15 21:46 stdb_redo01.log

-rw-r----- 1 oracle oinstall 51M Mar 15 21:46 stdb_redo02.log

-rw-r----- 1 oracle oinstall 51M Mar 15 21:46 stdb_redo03.log

-rw-r----- 1 oracle oinstall 51M Mar 15 21:46 stdb_redo04.log

-rw-r----- 1 oracle oinstall 501M Mar 15 21:47 sysaux01.dbf

-rw-r----- 1 oracle oinstall 681M Mar 15 21:47 system01.dbf

-rw-r----- 1 oracle oinstall 30M Mar 15 21:39 temp01.dbf

-rw-r----- 1 oracle oinstall 91M Mar 15 21:47 undotbs01.dbf

-rw-r----- 1 oracle oinstall 5.1M Mar 15 21:47 users01.dbf

复制代码

这里使用tar方法生成数据文件的备份tar包,当然可以使用其他方法来完成,比如直接把数据文件拷贝到其他目录下。

ora11g@secdb /u01/app/oracle/oradata/ora11g$ tar -cvf ora11g_cold_backup_datafiles.tar *.dbf

sysaux01.dbf

system01.dbf

temp01.dbf

undotbs01.dbf

users01.dbf

ora11g@secdb /u01/app/oracle/oradata/ora11g$ ls -l ora11g_cold_backup_datafiles.tar

-rw-r--r-- 1 oracle oinstall 1.3G Mar 15 21:48 ora11g_cold_backup_datafiles.tar

复制代码

2)创建备库的控制文件

此时数据库处于关闭状态。

(1)创建备库ora11gdg控制文件存放的目录

ora11g@secdb /home/oracle$ mkdir -p /u01/app/oracle/oradata/ora11gdg

复制代码

(2)生成主库spfile,以便在重启主库时使主库参数调整生效。

sys@ora11g@> create spfile from pfile;

File created.

复制代码

(3)启动主数据库到mount状态,创建备库的控制文件。

sys@ora11g@> startup mount;

ORACLE instance started.

Total System Global Area 313860096 bytes

Fixed Size 1336232 bytes

Variable Size 239078488 bytes

Database Buffers 67108864 bytes

Redo Buffers 6336512 bytes

Database mounted.

sys@ora11g@> alter database create standby controlfile as '/u01/app/oracle/oradata/ora11gdg/control01.ctl';

Database altered.

复制代码

拷贝生成备库的第二个控制文件。

sys@ora11g@> ! cp /u01/app/oracle/oradata/ora11gdg/control01.ctl /u01/app/oracle/oradata/ora11gdg/control02.ctl

sys@ora11g@> alter database open;

Database altered.

复制代码

此时主库已经处于Open状态,可对外提供服务。

3)创建备库参数文件

根据主库的pfile文件进行调整。调整后的内容如下。

(1)拷贝主库参数文件生成备库pfile

ora11g@secdb /home/oracle$ cd $ORACLE_HOME/dbs

ora11g@secdb /oracle/ora11gR2/product/11.2.0/dbhome_1/dbs$ cp initora11g.ora initora11gdg.ora

复制代码

(2)调整备库pfile文件内容

ora11g@secdb /oracle/ora11gR2/product/11.2.0/dbhome_1/dbs$ vi initora11gdg.ora

复制代码

(3)备库配置――当是备库角色时需要的参数

DB_NAME=ora11g

DB_UNIQUE_NAME=ora11gdg

LOG_ARCHIVE_CONFIG='DG_CONFIG=(ora11g,ora11gdg)'

control_files='/u01/app/oracle/oradata/ora11gdg/control01.ctl','/u01/app/oracle/oradata/ora11gdg/control02.ctl'

FAL_CLIENT=ora11gdg

FAL_SERVER=ora11g

DB_FILE_NAME_CONVERT='ora11g','ora11gdg'

LOG_FILE_NAME_CONVERT='ora11g','ora11gdg'

STANDBY_FILE_MANAGEMENT=AUTO

LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

复制代码

(4)备库配置――当是主库角色时需要的参数

LOG_ARCHIVE_DEST_1=

'LOCATION=/home/oracle/arch/ora11gdg/

VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=ora11gdg'

LOG_ARCHIVE_DEST_2=

'SERVICE=ora11g ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=ora11g'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

复制代码

同时调整与路径相关的错误参数内容。同时创建确实的路径。

$ mkdir -p /u01/app/oracle/admin/ora11gdg/adump

复制代码

4)拷贝备份文件到备库数据文件存放目录

把备份的tar包移动到ora11gdg存放数据文件目录中,解tar包生成备库的数据文件。

ora11g@secdb /u01/app/oracle/product/11.2.0/db_1/dbs$ cd $ORACLE_BASE/oradata/ora11gdg

ora11g@secdb /u01/app/oracle/oradata/ora11gdg$ mv /ora11g/ora11g_cold_backup_datafiles.tar .

ora11g@secdb /u01/app/oracle/oradata/ora11gdg$ tar -xvf ora11g_cold_backup_datafiles.tar

sysaux01.dbf

system01.dbf

temp01.dbf

undotbs01.dbf

users01.dbf

ora11g@secdb /u01/app/oracle/oradata/ora11gdg$ ls -l

total 2.6G

-rw-r----- 1 oracle oinstall 9.4M Mar 15 21:49 control01.ctl

-rw-r----- 1 oracle oinstall 9.4M Mar 15 21:49 control02.ctl

-rw-r--r-- 1 oracle oinstall 1.3G Mar 15 21:48 ora11g_cold_backup_datafiles.tar

-rw-r----- 1 oracle oinstall 501M Mar 15 21:47 sysaux01.dbf

-rw-r----- 1 oracle oinstall 681M Mar 15 21:47 system01.dbf

-rw-r----- 1 oracle oinstall 30M Mar 15 21:39 temp01.dbf

-rw-r----- 1 oracle oinstall 91M Mar 15 21:47 undotbs01.dbf

-rw-r----- 1 oracle oinstall 5.1M Mar 15 21:47 users01.dbf

复制代码

5)备库环境设置

(1)生成备库的密码文件

由于是在一台主机上部署Data Guard,因此这里仅需拷贝主库的密码文件生成备库密码文件即可。

ora11g@secdb /u01/app/oracle/oradata/ora11gdg$ cd $ORACLE_HOME/dbs

ora11g@secdb /u01/app/oracle/product/11.2.0/db_1/dbs$ cp orapwora11g orapwora11gdg

复制代码

(2)验证网络服务名是否完整及正确

ora11g@secdb /home/oracle$ cat $ORACLE_HOME/network/admin/tnsnames.ora

ORA11G =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ora11g)

ORA11GDG =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ora11gdg)

[1] [2] [3]

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: