Home  >  Article  >  Database  >  Oracle 单实例Active Data Dataguard

Oracle 单实例Active Data Dataguard

WBOY
WBOYOriginal
2016-06-07 15:03:321078browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn