Oracle 11g R2之Dataguard搭建物理standby
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle 11g R2之Dataguard搭建物理standby,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含8852字,纯文字阅读大概需要13分钟。
内容图文
![Oracle 11g R2之Dataguard搭建物理standby](/upload/InfoBanner/zyjiaocheng/453/3acc9e99c59f4cb9ba14b7914b94cc94.jpg)
备库Standby:
[oracle@dg ~]$ cat /home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dg
export ORACLE_UNQNAME=dg
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=dg
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
二、搭设Dataguard
主库Primary操作:
--检查数据库是否支持Dataguard
[oracle@oracle dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jul 23 10:02:01 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$option where parameter = ‘Managed Standby‘;
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
Managed Standby
TRUE
--检查主库是否开启归档模式
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archive/orcl
Oldest online log sequence 23
Next log sequence to archive 25
Current log sequence 25
--如未开启执行下列操作
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
--将数据库设为强制日志模式
SQL> alter database force logging;
--创建数据库密码文件(如果没有)
[oracle@oracle /]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle force=y ignorecase=y entries=5
--创建主库归档目录
[oracle@oracle /]$ cd /u01
[oracle@oracle u01]$ mkdir archive
[oracle@oracle u01]$ cd archive
[oracle@oracle archive]$ mkdir orcl
--备份数据库初始化参数文件
SQL> create pfile=‘/home/oracle/pfile.ora‘ from spfile;
--创建pfile文件,该文件方便修改初始化参数
SQL> create pfile from spfile;
--打开pfile文件,添加如下内容
DB_UNIQUE_NAME=orcl
LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(orcl,dg)‘
LOG_ARCHIVE_DEST_1=‘LOCATION=/u01/archive/orcl VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl‘
LOG_ARCHIVE_DEST_2=‘SERVICE=dg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg‘
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=dg
DB_FILE_NAME_CONVERT=‘/u01/oracle/oradata/dg/‘,‘/u01/oracle/oradata/orcl/‘
LOG_FILE_NAME_CONVERT=‘/u01/archive/dg‘,‘/u01/archive/orcl‘
STANDBY_FILE_MANAGEMENT=AUTO
--关闭数据库
SQL> shutdown immediate
--通过pfile创建spfile
SQL> create spfile from pfile;
--打开数据库
SQL> startup
--备份主库Primary数据库文件
--关闭数据库
SQL> shutdown immediate
--停止监听
[oracle@oracle /]$ lsnrctl stop
--启动数据库到mount状态
SQL> startup mount
--创建备份目录
[oracle@oracle /]$ cd /u01
[oracle@oracle u01]$ mkdir backup
--rman备份
[oracle@oracle /]$ rman target /
RMAN> backup full database format ‘/u01/backup/backup_%t_%s_%p.bak‘;
--在主库上建立备库的控制文件(2份)
SQL> alter database create standby controlfile as ‘/u01/backup/stdby_control01.ctl‘;
[oracle@oracle /]$ cd /u01/backup/
[oracle@oracle backup]$ cp stdby_control01.ctl stdby_control02.ctl
备库Standby操作:
--创建必要的目录
cd /u01
mkdir archive
cd archive
mkdir dg
cd /u01/oracle
mkdir admin
cd admin
mkdir dg
cd dg
mkdir adump
cd /u01/oracle/oradata
mkdir dg
cd /u01/oracle
mkdir fast_recovery_area
cd fast_recovery_area
mkdir dg
cd /u01
mkdir backup
--通过scp将主库中的备份文件传到备库上
[oracle@oracle backup]$ cd /u01/backup
[oracle@oracle backup]$ scp backup*.bak 192.168.8.223:/u01/backup
[oracle@oracle backup]$ scp stdby_control*.ctl 192.168.8.223:/u01/oracle/oradata/
[oracle@oracle backup]$ cd $ORACLE_HOME/dbs
[oracle@oracle dbs]$ scp initorcl.ora 192.168.8.223:$ORACLE_HOME/dbs/
传输好后,将控制文件放到初始化参数中设置的目录即可
--为备库standby创建密码文件:
[oracle@dg ~]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle force=y ignorecase=y entries
--修改备库初始化参数文件(主库初始化参数文件为initorcl.ora需修改成initdg.ora),
将初始化文件中添加如下内容(主库中类似的内容删除或进行修改):
DB_UNIQUE_NAME=dg
LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(orcl,dg)‘
LOG_ARCHIVE_DEST_1=‘LOCATION=/u01/archive/dg VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg‘
LOG_ARCHIVE_DEST_2=‘SERVICE=orcl ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl‘
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=orcl
DB_FILE_NAME_CONVERT=‘/u01/oracle/oradata/orcl/‘,‘/u01/oracle/oradata/dg/‘
LOG_FILE_NAME_CONVERT=‘/u01/archive/orcl‘,‘/u01/archive/dg‘
STANDBY_FILE_MANAGEMENT=AUTO
--通过pfile创建spfile文件
[oracle@dg ~]$ sqlplus / as sysdba
SQL> create spfile from pfile;
--启动物理备库standby
SQL> startup nomount
SQL> alter database mount standby database;
--备库standby做rman恢复
[oracle@dg ~]$ rman target /
RMAN> restore database;
配置主备库文件(备库没有可以从主库scp过来进行修改),下面仅贴出主备库相关文件内容
--主库Primary的listener.ora
# listener.ora Network Configuration File: /u01/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/oracle
--备库standby的listener.ora
# listener.ora Network Configuration File: /u01/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = dg)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/oracle
--主库Primary的tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.223)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dg)
)
)
--备库standby的tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dg)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dg)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.205)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
--完成后重启listener
lsnrctl stop
lsnrctl start
--tnsping主备库
tnsping orcl
tnsping dg
--tnsping时可能会有linux防火墙限制,禁用防火墙命令
service iptables stop
配置standby redolog(如果数据库是最佳性能模式可以忽略,如果以后变成备库且要转为其它两种模式则要建立)
--主库Primary上建立:
SQL> alter database add standby logfile
group 4 (‘/u01/oracle/oradata/orcl/stdby_redo04.log‘) size 50m,
group 5 (‘/u01/oracle/oradata/orcl/stdby_redo05.log‘) size 50m,
group 6 (‘/u01/oracle/oradata/orcl/stdby_redo06.log‘) size 50m,
group 7 (‘/u01/oracle/oradata/orcl/stdby_redo07.log‘) size 50m;
--备库standby上建立
SQL> alter database add standby logfile
group 4 (‘/u01/oracle/oradata/dg/stdby_redo04.log‘) size 50m,
group 5 (‘/u01/oracle/oradata/dg/stdby_redo05.log‘) size 50m,
group 6 (‘/u01/oracle/oradata/dg/stdby_redo06.log‘) size 50m,
group 7 (‘/u01/oracle/oradata/dg/stdby_redo07.log‘) size 50m;
--在备库standby上启动redo apply
SQL> alter database recover managed standby database disconnect from session;
到此物理standby创建完毕!
一些常用命令(整理中)
select switchover_status from v$database;
startup nomount
alter database mount standby database;
alter database recover managed standby database disconnect from session;
--从正在恢复状态只读打开
alter database recover managed standby database cancel;
alter database open read only;
版权声明:本文为博主原创文章,未经博主允许不得转载。
Oracle 11g R2之Dataguard搭建物理standby
标签:
本文系统来源:http://blog.csdn.net/u011364306/article/details/47017455
内容总结
以上是互联网集市为您收集整理的Oracle 11g R2之Dataguard搭建物理standby全部内容,希望文章能够帮你解决Oracle 11g R2之Dataguard搭建物理standby所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。