前端之家收集整理的这篇文章主要介绍了
oracle11g dg 配置(图文版),
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有点懒,大家多见谅图片的位置就不一一添加了,工作比较忙,只给大家复制粘贴了下我的文档。
第三章 主库配置
3.1 创建目录并修改名称
//在主库创建所需的文件夹
mkdir /u01/app/oracle/arch
@H_
502_24@
//修改名称
@H_
502_24@
sqlplus / assysdba
@H_
502_24@

@H_
502_24@
show parametername
@H_
502_24@

@H_
502_24@
alter system set db_unique_name=orclscope=spfile;
@H_
502_24@

@H_
502_24@
!!!!如果默认是上图内容,则可不必执行下面2段sql语句!!!!
@H_
502_24@
alter system set service_names=orclscope=spfile;
@H_
502_24@

@H_
502_24@
alter system set instance_name=orclscope=spfile;
@H_
502_24@

3.2 配置日志归档模式
@H_
502_24@
shutdownimmediate;
@H_
502_24@

@H_
502_24@
startup mount
@H_
502_24@

@H_
502_24@
//设置归档日志目录
@H_
502_24@
alter system set log_archive_dest_1='location=/u01/app/oracle/arch';
@H_
502_24@

@H_
502_24@
//验证日志目录
@H_
502_24@
archive log list
@H_
502_24@
@H_
502_24@
//开启归档模式
@H_
502_24@
Alter databasearchivelog;
@H_
502_24@

@H_
502_24@
//开启强制记录日志模式
@H_
502_24@
alter databaseforce logging;
@H_
502_24@

@H_
502_24@
验证
@H_
502_24@
selectFORCE_LOGGING from v$database;
@H_
502_24@

3.3 添加 standby redolog日志文件
@H_
502_24@
alter database add standby logfile group11'/u01/app/oracle/oradata/orcl/std11.log'size 60M;
@H_
502_24@
alter database add standby logfile group12'/u01/app/oracle/oradata/orcl/std12.log'size 60M;
@H_
502_24@
alter database add standby logfile group13'/u01/app/oracle/oradata/orcl/std13.log'size 60M;
@H_
502_24@
alter database add standby logfile group14'/u01/app/oracle/oradata/orcl/std14.log'size 60M;
@H_
502_24@

@H_
502_24@
//验证,加上系统默认的三条共7条
@H_
502_24@
Select member,type from v$logfile;
@H_
502_24@

3.4 开启闪回数据库
@H_
502_24@
//开启闪回数据库(作用:当发生故障转移时,这个功能非常有用,它能让你将老的主库闪回到故障前,然后将其转换为备库。如果没有启用闪回功能,你就必须重建备库,意味着要再复制一次数据文件。除了这个好处,闪回还能在某些情况下让你避免从备份恢复数据)
@H_
502_24@
//查看闪回数据库状态
@H_
502_24@
show parameter db_recovery_file_dest
@H_
502_24@

@H_
502_24@
//更改路径和大小
@H_
502_24@
可以修改位置:sql>alter system set db_recovery_file_dest='新路径';
更改大小:sql>alter system set db_recovery_file_dest_size=400G;
@H_
502_24@
//查看是否启用,默认是不开启的
@H_
502_24@
select flashback_on from v$database;
@H_
502_24@

@H_
502_24@
alter database flashback on;
@H_
502_24@

@H_
502_24@
//验证
@H_
502_24@
select flashback_on from v$database;
@H_
502_24@

3.5 DG配置
@H_
502_24@
// Data Guard 配置里的另外一个库的名字
@H_
502_24@
alter system setlog_archive_config='DG_CONFIG=(orcl,orclstd)';
@H_
502_24@

@H_
502_24@
//配置归档日志位置(很重要)
@H_
502_24@
alter system setlog_archive_dest_1='LOCATION=/u01/app/oracle/archVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl';
@H_
502_24@

@H_
502_24@
//配置重做日志到备份库(很重要)
@H_
502_24@
alter system set log_archive_dest_2='SERVICE=orclstdASYNC LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orclstd';
@H_
502_24@

@H_
502_24@
//设置日志格式
@H_
502_24@
alter system setlog_archive_format='arch_%r_%t_%s.arc' scope=spfile;
@H_
502_24@

@H_
502_24@
//设置FAL_SERVER(作用:这个参数指定当日志传输出现问题时,备库到哪里去找缺少的归档日志)
@H_
502_24@
alter system set fal_server=orclstd;
@H_
502_24@

@H_
502_24@
alter system set fal_client=orcl;
@H_
502_24@

@H_
502_24@
//配置数据文件和日志文件目录
@H_
502_24@
show parameter convert
@H_
502_24@
@H_
502_24@
alter system set db_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/orcl/'scope=spfile;
@H_
502_24@
alter system set log_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/orcl/'scope=spfile;
@H_
502_24@

@H_
502_24@
shutdown immediate
@H_
502_24@

@H_
502_24@
startup mount
@H_
502_24@

@H_
502_24@
//验证
@H_
502_24@
show parameter convert
@H_
502_24@

3.6 设置自动管理
@H_
502_24@
//查看主库是否自动管理文件(作用:主库添加或删除数据文件时,备库也跟着添加删除数据文件)
@H_
502_24@
show parameter standby
@H_
502_24@

@H_
502_24@
alter system set standby_file_management=auto;
@H_
502_24@

@H_
502_24@
//验证
@H_
502_24@
show parameter standby
@H_
502_24@

3.7 修改fal参数
@H_
502_24@
alter system set fal_client=orcl;
@H_
502_24@
alter system set fal_server=orclstd;
@H_
502_24@

@H_
502_24@
//验证
@H_
502_24@
show parameter fal;
@H_
502_24@
3.8 配置密码文件
@H_
502_24@
//由于默认的密码不知道,所以可以删除或备份一份密码文件
@H_
502_24@
cd /u01/app/oracle/product/11.2.0/db_1/dbs/
@H_
502_24@
mv orapworcl orapworcl.bak
@H_
502_24@
创建密码文件
@H_
502_24@
orapwd file=orapworcl password=jinhetech force=y
@H_
502_24@

3.9 配置监听
@H_
502_24@
cd/u01/app/oracle/product/11.2.0/db_1/network/admin/
@H_
502_24@
在监听文件里添加:
@H_
502_24@
vim listener.ora
@H_
502_24@
===========================================================
@H_
502_24@
SID_LIST_LISTENER =
@H_
502_24@
(SID_LIST =
@H_
502_24@
(SID_DESC =
@H_
502_24@
(GLOBAL_DBNAME = orcl)
@H_
502_24@
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
@H_
502_24@
(SID_NAME = orcl)
@H_
502_24@
)
@H_
502_24@
)
@H_
502_24@
@H_
502_24@
LISTENER =
@H_
502_24@
(DESCRIPTION_LIST =
@H_
502_24@
(DESCRIPTION=
@H_
502_24@
(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521))
@H_
502_24@
(ADDRESS =(PROTOCOL = TCP)(HOST = compute02)(PORT = 1521))
@H_
502_24@
)
@H_
502_24@
)
@H_
502_24@
@H_
502_24@
ADR_BASE_LISTENER = /u01/app/oracle
@H_
502_24@
===========================================================
@H_
502_24@

@H_
502_24@
重启监听,重启数据库.
@H_
502_24@
验证:
@H_
502_24@
lsnrctl status
@H_
502_24@

@H_
502_24@
//配置远程监听,添加一下内容
@H_
502_24@
vim tnsnames.ora
@H_
502_24@
===========================================================
@H_
502_24@
ORCL =
@H_
502_24@
(DESCRIPTION =
@H_
502_24@
(ADDRESS =(PROTOCOL = TCP)(HOST = compute02)(PORT = 1521))
@H_
502_24@
(CONNECT_DATA =
@H_
502_24@
(SERVER =DEDICATED)
@H_
502_24@
(SERVICE_NAME = orcl)
@H_
502_24@
)
@H_
502_24@
)
@H_
502_24@
ORCLSTD =
@H_
502_24@
(DESCRIPTION =
@H_
502_24@
(ADDRESS = (PROTOCOL = TCP)(HOST = controller)(PORT = 1521))
@H_
502_24@
(CONNECT_DATA =
@H_
502_24@
(SERVER = DEDICATED)
@H_
502_24@
(SERVICE_NAME = orclstd)
@H_
502_24@
)
@H_
502_24@
)
@H_
502_24@
===========================================================
@H_
502_24@

@H_
502_24@
验证
@H_
502_24@
tnsping compute02
@H_
502_24@

3.10 设置参数文件
@H_
502_24@
//生成修改主库的pfile用于备库
@H_
502_24@
create pfile='/tmp/init.ora' from spfile;
@H_
502_24@

@H_
502_24@
//生成自己的pfile配置文件
@H_
502_24@
create pfile from spfile;
@H_
502_24@

@H_
502_24@
//分别修改主备库配置
@H_
502_24@
//修改下面两个文件配置,手动添加红色字段
@H_
502_24@
vim /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
@H_
502_24@
vim /tmp/init.ora
@H_
502_24@
===========================================================
@H_
502_24@
orcl.__db_cache_size=7784628224
@H_
502_24@
orcl.__java_pool_size=268435456
@H_
502_24@
orcl.__large_pool_size=268435456
@H_
502_24@
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE setfrom environment
@H_
502_24@
orcl.__pga_aggregate_target=11005853696
@H_
502_24@
orcl.__sga_target=16106127360
@H_
502_24@
orcl.__shared_io_pool_size=0
@H_
502_24@
orcl.__shared_pool_size=7516192768
@H_
502_24@
orcl.__streams_pool_size=0
@H_
502_24@
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
@H_
502_24@
*.audit_trail='db'
@H_
502_24@
*.compatible='11.2.0.0.0'
@H_
502_24@
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl'
@H_
502_24@
*.db_block_size=8192
@H_
502_24@
*.db_domain=''
@H_
502_24@
*.db_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/orcl/'
@H_
502_24@
*.db_name='orcl'
@H_
502_24@
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
@H_
502_24@
*.db_recovery_file_dest_size=4070572032
@H_
502_24@
*.db_unique_name='ORCL'
@H_
502_24@
*.diagnostic_dest='/u01/app/oracle'
@H_
502_24@
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
@H_
502_24@
*.fal_client='ORCL'
@H_
502_24@
*.fal_server='ORCLSTD'
@H_
502_24@
*.log_archive_config='DG_CONFIG=(orcl,orclstd)'
@H_
502_24@
*.log_archive_dest_1='LOCATION=/u01/app/oracle/archVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'
@H_
502_24@
*.log_archive_dest_2='SERVICE=orclstd ASYNC LGWRVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orclstd'
@H_
502_24@
*.log_archive_format='arch_%r_%t_%s.arc'
@H_
502_24@
*.log_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/orcl/'
@H_
502_24@
*.memory_target=26902265856
@H_
502_24@
*.open_cursors=300
@H_
502_24@
*.processes=150
@H_
502_24@
*.remote_login_passwordfile='EXCLUSIVE'
@H_
502_24@
*.standby_file_management='AUTO'
@H_
502_24@
*.undo_tablespace='UNDOTBS1'
@H_
502_24@
*.log_archive_dest_state_1=enable
@H_
502_24@
*.log_archive_dest_state_2=enable
@H_
502_24@
===========================================================
3.11 创建控制文件
@H_
502_24@
alter database create standby controlfile as '/tmp/controlstb.ctl';
@H_
502_24@

3.12 传输文件
@H_
502_24@
!!!!!!按顺序执行!!!!!
@H_
502_24@
//传输密码文件到备库
@H_
502_24@
cd /u01/app/oracle/product/11.2.0/db_1/dbs/
@H_
502_24@
scp orapworcl oracle@172.16.0.1:/u01/app/oracle/product/11.2.0/db_1/dbs/
@H_
502_24@

@H_
502_24@
//拷贝监听文件到备库
@H_
502_24@
cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
@H_
502_24@
scp listener.ora tnsnames.ora oracle@172.16.0.1:/u01/app/oracle/product/11.2.0/db_1/network/admin/
@H_
502_24@

@H_
502_24@
//拷贝参数文件到备库
@H_
502_24@
scp /tmp/init.ora oracle@172.16.0.1:/u01/app/oracle/product/11.2.0/db_1/dbs/
@H_
502_24@

@H_
502_24@
//拷贝数据文件到备库
@H_
502_24@
scp /u01/app/oracle/oradata/orcl/* oracle@172.16.0.1:/u01/app/oracle/oradata/orcl/
@H_
502_24@

@H_
502_24@
//拷贝控制文件到备库
@H_
502_24@
scp /tmp/controlstb.ctloracle@172.16.0.1:/u01/app/oracle/oradata/orcl/control01.ctl
@H_
502_24@

@H_
502_24@
scp /tmp/controlstb.ctl oracle@172.16.0.1:/u01/app/oracle/flash_recovery_area/orcl/control02.ctl
@H_
502_24@

第四章 备库配置
4.1 创建所需的文件夹
@H_
502_24@
//在备库创建所需的文件夹
@H_
502_24@
mkdir -p/u01/app/oracle/oradata/orcl/
@H_
502_24@
mkdir -p/u01/app/oracle/arch/
@H_
502_24@
mkdir -p /u01/app/oracle/flash_recovery_area/orcl
@H_
502_24@
mkdir -p /u01/app/oracle/admin/orcl/adump
@H_
502_24@
mkdir -p /u01/app/oracle/admin/orcl/dpdump
@H_
502_24@
chown -R oracle:oinstall/u01/app
@H_
502_24@
chmod 6751/u01/app
@H_
502_24@
cd/u01/app/oracle/product/11.2.0/db_1/dbs/
@H_
502_24@
vim init.ora
@H_
502_24@
//修改init.ora为如下内容:
@H_
502_24@
===========================================================
@H_
502_24@
*.db_unique_name='orclstd'
@H_
502_24@
fal_server='orcl'
@H_
502_24@
fal_client='orclstd'
@H_
502_24@
log_archive_dest_1='location=/u01/app/oracle/archVALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orclstd'
@H_
502_24@
log_archive_dest_2='service=orcl valid_for=(online_logfiles,primary_role)db_unique_name=orcl'
@H_
502_24@
========================================================
4.3 配置监听
@H_
502_24@
cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
@H_
502_24@
vim listener.ora
@H_
502_24@
========================================================
@H_
502_24@
SID_LIST_LISTENER=
@H_
502_24@
(SID_LIST =
@H_
502_24@
(SID_DESC =
@H_
502_24@
(GLOBAL_DBNAME = orclstd)
@H_
502_24@
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
@H_
502_24@
(SID_NAME = orclstd)
@H_
502_24@
)
@H_
502_24@
)
@H_
502_24@
LISTENER =
@H_
502_24@
(DESCRIPTION_LIST =
@H_
502_24@
(DESCRIPTION =
@H_
502_24@
(ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))
@H_
502_24@
(ADDRESS = (PROTOCOL = TCP)(HOST = controller)(PORT = 1521))
@H_
502_24@
)
@H_
502_24@
)
@H_
502_24@
===========================================================
@H_
502_24@

@H_
502_24@
//启动监听
@H_
502_24@
lsnrctl start
@H_
502_24@
//验证
@H_
502_24@
tnsping orcl
@H_
502_24@

@H_
502_24@
tnsping orclstd
@H_
502_24@

第五章 日常维护
5.1 启动方式(先启动备库在启动主库)
@H_
502_24@
//备库操作
@H_
502_24@
shut immediate
@H_
502_24@
startup nomountpfile='/u01/app/oracle/product/11.2.0/db_1/dbs/init.ora';
@H_
502_24@

@H_
502_24@
alter databasemount standby database;
@H_
502_24@

@H_
502_24@
alter databaSEOpen read only;
@H_
502_24@

@H_
502_24@
select open_modefrom v$database;
@H_
502_24@

@H_
502_24@
alter databaserecover managed standby database using current logfile disconnect from session;
@H_
502_24@

@H_
502_24@
select open_modefrom v$database;
@H_
502_24@

@H_
502_24@
archive log list;
@H_
502_24@

@H_
502_24@
//生成自己的pfile配置文件
@H_
502_24@
create pfile from spfile;
@H_
502_24@
//主库操作
@H_
502_24@
shut immediate
@H_
502_24@
startup
@H_
502_24@
//主库最终监听状态
@H_
502_24@

@H_
502_24@
//备库最终监听状态
@H_
502_24@
