首页  >  文章  >  数据库  >  Oracle 单实例Active Data Dataguard

Oracle 单实例Active Data Dataguard

WBOY
WBOY原创
2016-06-07 15:03:321076浏览

欢迎进入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] 

Oracle 单实例Active Data Dataguard

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn