ORACLE 10GR2 DATAGUARD ON RHEL 6
1、OS安装Red Hat Enterprise Linux Server release 6.4 (Santiago)
64位
IP:10.56.1.204 10.55.1.204
2、安装oracle 10Gr2所需rpm包
配置本地yum源,使用系统盘中的yum仓库即可
相关包安装
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libel
f elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
yum -y install libXp
yum -y install libXp.so.6
yum -y install libXt.i686 libXtst.i686
oracle安装参考文档
可参考文档:
http://www.cnblogs.com/mchina/archive/2013/03/08/2934473.html
3、创建用户及目录
~ ]# groupadd dba
~]# groupadd oinstall
~]# useradd oracle -g oinstall -G dba
~]# passwd oracle
~]# mkdir /u01/product/10.2.0/db_1 -p
~]# chown -R oracle.oinstall /u01
~]# mkdir /oradata
~]# chown -R oracle.oinstall /oradata/
4、设定相关内核参数及环境变量
~]# su - oracle
~]$ vim .bash_profile
unset USERNAME
umask 022
ORACLE_BASE=/u01; export ORACLE_BASE
ORACLE_HOME=/u01/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=wip; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin; export PATH
~]$ bash .bash_profile
~]$ echo $ORACLE_HOME
/u01/product/10.2.0/db_1
~]$ echo $ORACLE_BASE
/u01
root
vim /etc/sysctl.conf
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 16000000000
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4194304
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.shmmax = 16000000000
kernel.shmall = 4194304
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
vim /etc/security/limits.conf
#use by oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vim /etc/pam.d/login
#use by oracle
session required /lib/security/pam_limits.so
修改release文件
~]# vim /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 8)
5、oracle软件安装
解压文件
gunzip 10201_database_linux_x86_64.cpio.gz
cpio -idmv <10201_database_linux_x86_64.cpio
unzip p8202632_10205_Linux-x86-64.zip
xhost+进行图形化安装10g和10205patch
6、nsf挂载文件系统至主库,主库进行备份,备库还原
[root@DataGuard ~]# vi /etc/exports
[root@DataGuard ~]# cat /etc/exports
/mnt/rman 10.55.1.201(rw)
[root@DataGuard ~]# mkdir /mnt/rman -p
[root@DataGuard ~]# service nfs start
[root@DataGuard ~]# chown -R oracle.oinstall /mnt
[root@DataGuard ~]# chmod 777 /mnt
主库进行挂载
[root@LCM3RAC1 ~]# service portmap start
Starting portmap: [ OK ]
[root@LCM3RAC1 ~]# mount -t nfs 10.55.1.204:/mnt/rman /mnt/rman
主库进行备份至挂载文件内
rman target/
RMAN>backup database format '/mnt/rman/%d_FULL_%T_%u_%p_%c';
主库创建pfile,密码文件
[oracle@LCM3RAC1 rman]$ orapwd file=orapwwip password=oracle entries=5
[oracle@LCM3RAC1 rman]$ ls
orapwwip test WIP_FULL_20170109_0vrpjknq_1_1
[oracle@LCM3RAC1 rman]$ slqplus / as sysdba
-bash: slqplus: command not found
[oracle@LCM3RAC1 rman]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jan 9 14:57:08 2017
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> create pfile='/mnt/rman/initorcl.ora' from spfile;
File created.
pfile文件:
wip1.__db_cache_size=6358564864
wip3.__db_cache_size=3036676096
wip2.__db_cache_size=6392119296
wip3.__java_pool_size=16777216
wip2.__java_pool_size=16777216
wip1.__java_pool_size=16777216
wip3.__large_pool_size=16777216
wip2.__large_pool_size=16777216
wip1.__large_pool_size=16777216
wip1.__shared_pool_size=2164260864
wip3.__shared_pool_size=1191182336
wip2.__shared_pool_size=2130706432
wip3.__streams_pool_size=16777216
wip2.__streams_pool_size=16777216
wip1.__streams_pool_size=16777216
*._undo_autotune=FALSE
*.audit_file_dest='/u01/admin/wip/adump'
*.background_dump_dest='/u01/admin/wip/bdump'
*.cluster_database_instances=3
*.cluster_database=true
*.compatible='10.2.0.5.0'
*.control_files='/oradata/wip/control01.ctl','/oradata/wip/control02.ctl','/oradata/wip/control03.ctl'
*.core_dump_dest='/u01/admin/wip/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='wip'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=wipXDB)'
*.fal_client='STANDBY'
*.fal_server='WIP1','WIP2','WIP3'
wip1.instance_number=1
wip3.instance_number=3
wip2.instance_number=2
*.job_queue_processes=10
wip1.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 10.56.1.101)(PORT = 1521))'
wip2.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 10.56.1.102)(PORT = 1521))'
wip3.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 10.56.1.103)(PORT = 1521))'
*.log_archive_dest_1='location=/oradata/archivelog'
*.log_archive_dest_2='service=standby optional reopen=60'
*.log_archive_dest_state_2='DEFER'
*.open_cursors=2000
*.pga_aggregate_target=1671430144
wip1.pga_aggregate_target=3221225472
wip2.pga_aggregate_target=3221225472
wip3.pga_aggregate_target=1572864000
*.processes=2000
*.remote_listener='LISTENERS_WIP'
*.remote_login_passwordfile='exclusive'
wip1.sga_max_size=8589934592
wip2.sga_max_size=8589934592
wip3.sga_max_size=4294967296
*.sga_target=1610612736
wip1.sga_target=8589934592
wip2.sga_target=8589934592
wip3.sga_target=4294967296
*.standby_file_management='AUTO'
wip2.thread=2
wip3.thread=3
wip1.thread=1
*.undo_management='AUTO'
*.undo_retention=10800
wip2.undo_tablespace='UNDOTBS2'
wip3.undo_tablespace='UNDOTBS3'
wip1.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/admin/wip/udump'
根据pfile文件在备库中创建相应文件夹
[oracle@DataGuard ~]$ mkdir /u01/admin/wip/{adump,bdump,cdump,udump} -pv
mkdir: created directory `/u01/admin'
mkdir: created directory `/u01/admin/wip'
mkdir: created directory `/u01/admin/wip/adump'
mkdir: created directory `/u01/admin/wip/bdump'
mkdir: created directory `/u01/admin/wip/cdump'
mkdir: created directory `/u01/admin/wip/udump'
[oracle@DataGuard ~]$ mkdir /oradata/archivelog -pv
mkdir: created directory `/oradata/archivelog'
修改pfile参数文件
wip.__db_cache_size=6358564864
wip.__java_pool_size=16777216
wip.__large_pool_size=16777216
wip.__shared_pool_size=620756992
wip.__streams_pool_size=0
*.audit_file_dest='/u01/admin/wip/adump'
*.background_dump_dest='/u01/admin/wip/bdump'
*.cluster_database=false
*.compatible='10.2.0.5.0'
*.control_files='/oradata/wip/control01.ctl','/oradata/wip/control02.ctl','/oradata/wip/control03.ctl'
*.core_dump_dest='/u01/admin/wip/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='wip'
*.db_unique_name='wip'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=wipXDB)'
*.fal_client='standby'
*.fal_server='wip1','wip2','wip3'
*.instance_name='wip'
*.job_queue_processes=10
*.log_archive_dest_1='location=/oradata/archivelog'
*.open_cursors=2000
*.pga_aggregate_target=1671430144
*.processes=2000
*.remote_login_passwordfile='exclusive'
*.sga_max_size=3238002688
*.sga_target=3238002688
*.standby_file_management='AUTO'
*.thread=1
*.undo_management='AUTO'
*.undo_retention=10800
配置备库监听和tns,listener.ora/tnsnames.ora
主机监听
# listener.ora.lcm3rac1 Network Configuration File: /u01/product/10.2.0/db_1/network/admin
/listener.ora.lcm3rac1# Generated by Oracle configuration tools.
INBOUND_CONNECT_TIMEOUT_LISTENER_LCM3RAC1 = 0
LISTENER_LCM3RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac1-vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.56.1.201)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
备库监听
# listener.ora Network Configuration File: /u01/product/10.2.0/db_1/network/admin/listener
.ora# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DataGuard)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
tns
# tnsnames.ora Network Configuration File: /u01/product/10.2.0/db_1/network/admin/tnsnames
.ora# Generated by Oracle configuration tools.
WIP =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac2-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac3-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wip)
)
)
WIP3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac3-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wip)
(INSTANCE_NAME = wip3)
)
)
WIP2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac2-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wip)
(INSTANCE_NAME = wip2)
)
)
WIP1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wip)
(INSTANCE_NAME = wip1)
)
)
LISTENERS_WIP =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac2-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac3-vip)(PORT = 1521))
)
OTHERWIP =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac2-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = lcm3rac3-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wip)
)
)
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.54.2.3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wip)
)
)
lcm2wip =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.54.2.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.54.2.2)(PORT = 1521))
(LOAD_BALANCE = on)
(FAILOVER = on)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wip)
(FAILOVER_MODE=
(TYPE=select)
(method=basic)
(retries = 200)
(delay = 5)
)
)
)
lcm1his =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.54.2.5)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = history)
)
)
lcm2his =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.52.2.5)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = history)
)
)
HISTORY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.56.1.164)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = history)
)
)
OTHERHIS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.56.1.164)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = history)
)
)
report =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.53.10.16)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wuinterdb)
)
)
INTEGRATE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =10.11.0.69)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = integrate.cptt)
)
)
INTEGRATE_PRD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =10.48.0.117)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = ltwb07)
)
)
#for db link
lcm1WIP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.52.1.101 )(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.52.1.102)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.52.1.103)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = wip)
(FAILOVER_MODE =
(TYPE = select)
(method = basic)
(retries = 200)
(delay = 5)
)
)
)
本地host文件加解析
/etc/hosts
10.56.1.204 DataGuard
待备份完成后,手动进行几次归档后创建controlfile,拷贝至备库
SQL> alter system archive log current;
System altered.
SQL> alter database create standby controlfile as '/tmp/control01.ctl';
Database altered.
[oracle@DataGuard rman]$ mkdir -p /oradata/wip
[oracle@DataGuard rman]$ cp control01.ctl /oradata/wip/control01.ctl
[oracle@DataGuard rman]$ cp control01.ctl /oradata/wip/control02.ctl
[oracle@DataGuard rman]$ cp control01.ctl /oradata/wip/control03.ctl
复制密码文件
cp orapwwip /u01/product/10.2.0/db_1/dbs/
备库通过pfile启动到nomount状态,根据pfile创建spfile
[oracle@DataGuard rman]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jan 9 17:47:38 2017
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup nomount pfile='/mnt/rman/initorcl.ora'
ORACLE instance started.
Total System Global Area 3238002688 bytes
Fixed Size 2099784 bytes
Variable Size 654312888 bytes
Database Buffers 2566914048 bytes
Redo Buffers 14675968 bytes
SQL> create spfile from pfile='/mnt/rman/initorcl.ora';
File created.
SQL>
将数据库启动至mount状态
SQL> alter database mount;
Database altered.
通过rman恢复数据库至备库
[oracle@DataGuard rman]$ rman target/
Recovery Manager: Release 10.2.0.5.0 - Production on Mon Jan 9 17:54:35 2017
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: WIP (DBID=277772385, not open)
RMAN> restore database;
主库修改对于standby的tns地址
将主库的archivelog拷贝至备库
scp *.dbf root@10.55.1.204:/oradata/archivelog/
备库开启监听
[root@DataGuard archivelog]# su - oracle
[oracle@DataGuard ~]$ lsnrctl start
备库recover主库拷贝过来的archivelog
[oracle@DataGuard ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jan 9 20:19:07 2017
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> recover standby database using backup controlfile until cancel;
ORA-00279: change 13449706423844 generated at 01/09/2017 14:51:38 needed for
thread 1
ORA-00289: suggestion : /oradata/archivelog/1_24855_751423971.dbf
ORA-00280: change 13449706423844 for thread 1 is in sequence #24855
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
AUTO
ORA-00279: change 13449706423844 generated at 01/09/2017 10:39:34 needed for
thread 2
ORA-00289: suggestion : /oradata/archivelog/2_14209_751423971.dbf
ORA-00280: change 13449706423844 for thread 2 is in sequence #14209
ORA-00279: change 13449706423844 generated at 01/09/2017 13:45:09 needed for
thread 3
ORA-00289: suggestion : /oradata/archivelog/3_13732_751423971.dbf
ORA-00280: change 13449706423844 for thread 3 is in sequence #13732
ORA-00279: change 13449706456434 generated at 01/09/2017 15:00:13 needed for
thread 2
ORA-00289: suggestion : /oradata/archivelog/2_14210_751423971.dbf
ORA-00280: change 13449706456434 for thread 2 is in sequence #14210
ORA-00278: log file '/oradata/archivelog/2_14209_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449708067563 generated at 01/09/2017 16:23:20 needed for
thread 3
ORA-00289: suggestion : /oradata/archivelog/3_13733_751423971.dbf
ORA-00280: change 13449708067563 for thread 3 is in sequence #13733
ORA-00278: log file '/oradata/archivelog/3_13732_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449708406961 generated at 01/09/2017 16:57:01 needed for
thread 1
ORA-00289: suggestion : /oradata/archivelog/1_24856_751423971.dbf
ORA-00280: change 13449708406961 for thread 1 is in sequence #24856
ORA-00278: log file '/oradata/archivelog/1_24855_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449709361975 generated at 01/09/2017 17:29:34 needed for
thread 1
ORA-00289: suggestion : /oradata/archivelog/1_24857_751423971.dbf
ORA-00280: change 13449709361975 for thread 1 is in sequence #24857
ORA-00278: log file '/oradata/archivelog/1_24856_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449709362031 generated at 01/09/2017 17:29:37 needed for
thread 3
ORA-00289: suggestion : /oradata/archivelog/3_13734_751423971.dbf
ORA-00280: change 13449709362031 for thread 3 is in sequence #13734
ORA-00278: log file '/oradata/archivelog/3_13733_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449709362034 generated at 01/09/2017 17:29:37 needed for
thread 2
ORA-00289: suggestion : /oradata/archivelog/2_14211_751423971.dbf
ORA-00280: change 13449709362034 for thread 2 is in sequence #14211
ORA-00278: log file '/oradata/archivelog/2_14210_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449709411751 generated at 01/09/2017 17:30:51 needed for
thread 2
ORA-00289: suggestion : /oradata/archivelog/2_14212_751423971.dbf
ORA-00280: change 13449709411751 for thread 2 is in sequence #14212
ORA-00278: log file '/oradata/archivelog/2_14211_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449709411858 generated at 01/09/2017 17:30:52 needed for
thread 3
ORA-00289: suggestion : /oradata/archivelog/3_13735_751423971.dbf
ORA-00280: change 13449709411858 for thread 3 is in sequence #13735
ORA-00278: log file '/oradata/archivelog/3_13734_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449709411887 generated at 01/09/2017 17:30:52 needed for
thread 1
ORA-00289: suggestion : /oradata/archivelog/1_24858_751423971.dbf
ORA-00280: change 13449709411887 for thread 1 is in sequence #24858
ORA-00278: log file '/oradata/archivelog/1_24857_751423971.dbf' no longer
needed for this recovery
ORA-00279: change 13449709412924 generated at 01/09/2017 17:31:19 needed for
thread 1
ORA-00289: suggestion : /oradata/archivelog/1_24859_751423971.dbf
ORA-00280: change 13449709412924 for thread 1 is in sequence #24859
ORA-00278: log file '/oradata/archivelog/1_24858_751423971.dbf' no longer
needed for this recovery
ORA-00308: cannot open archived log '/oradata/archivelog/1_24859_751423971.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/oradata/wip/system01.dbf'
同步日志
SQL> recover managed standby database disconnect from session;
Media recovery complete.
关闭数据库并进行备库开启
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session; 开启MRP
7、查看应用是否正常
确认同步:备库执行 RFS远程文件接收进程 MRP0日志应用进程
SQL> select process,status from v$managed_standby;
SQL> /
PROCESS STATUS
--------- ------------
ARCH CONNECTED
ARCH CONNECTED
MRP0 APPLYING_LOG
RFS IDLE
RFS IDLE
RFS IDLE
6 rows selected.
SQL> /
PROCESS STATUS
--------- ------------
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_LOG
RFS IDLE
RFS IDLE
RFS IDLE
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APP
---------- ---
13735 YES
13736 YES
13737 YES
13738 YES
13739 YES
13740 YES
13741 YES
14212 YES
14213 YES
14214 YES
14215 YES
SEQUENCE# APP
---------- ---
14216 YES
14217 YES
14218 NO
24859 YES
24860 YES
24861 YES
24862 NO
18 rows selected.
SQL> select message from v$dataguard_status;
MESSAGE
--------------------------------------------------------------------------------
ARC0: Archival started
ARC1: Archival started
ARC0: Becoming the 'no FAL' ARCH
ARC0: Becoming the 'no SRL' ARCH
ARC1: Becoming the heartbeat ARCH
Attempt to start background Managed Standby Recovery process
MRP0: Background Managed Standby Recovery process started
Managed Standby Recovery not using Real Time Apply
Clearing online redo logfile 1 /oradata/wip/redo01.log
Clearing online redo logfile 1 complete
Media Recovery Waiting for thread 1 sequence 24859
MESSAGE
--------------------------------------------------------------------------------
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[1]: Assigned to RFS process 23716
RFS[1]: Identified database type as 'physical standby'
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[2]: Assigned to RFS process 23718
RFS[2]: Identified database type as 'physical standby'
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[3]: Assigned to RFS process 23720
MESSAGE
--------------------------------------------------------------------------------
RFS[3]: Identified database type as 'physical standby'
Media Recovery Log /oradata/archivelog/1_24859_751423971.dbf
Media Recovery Waiting for thread 2 sequence 14212
Fetching gap sequence in thread 2, gap sequence 14212-14212
Error 12545 received logging on to the standby
FAL[client, MRP0]: Error 12545 connecting to wip1 for fetching gap sequence
Error 12545 received logging on to the standby
FAL[client, MRP0]: Error 12545 connecting to wip1 for fetching gap sequence
Media Recovery Log /oradata/archivelog/2_14212_751423971.dbf
Media Recovery Waiting for thread 3 sequence 13735
Fetching gap sequence in thread 3, gap sequence 13735-13735
MESSAGE
--------------------------------------------------------------------------------
Error 12545 received logging on to the standby
FAL[client, MRP0]: Error 12545 connecting to wip1 for fetching gap sequence
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[4]: Assigned to RFS process 23729
RFS[4]: Identified database type as 'physical standby'
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[5]: Assigned to RFS process 23731
RFS[5]: Identified database type as 'physical standby'
Error 12545 received logging on to the standby
MESSAGE
--------------------------------------------------------------------------------
FAL[client, MRP0]: Error 12545 connecting to wip1 for fetching gap sequence
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[6]: Assigned to RFS process 23734
RFS[6]: Identified database type as 'physical standby'
Media Recovery Log /oradata/archivelog/3_13735_751423971.dbf
Media Recovery Log /oradata/archivelog/2_14213_751423971.dbf
Media Recovery Log /oradata/archivelog/3_13736_751423971.dbf
Media Recovery Waiting for thread 1 sequence 24860
Media Recovery Log /oradata/archivelog/1_24860_751423971.dbf
Media Recovery Log /oradata/archivelog/2_14214_751423971.dbf
MESSAGE
--------------------------------------------------------------------------------
Media Recovery Log /oradata/archivelog/3_13737_751423971.dbf
Media Recovery Waiting for thread 2 sequence 14215
Media Recovery Log /oradata/archivelog/2_14215_751423971.dbf
Media Recovery Waiting for thread 3 sequence 13738
Media Recovery Log /oradata/archivelog/3_13738_751423971.dbf
Media Recovery Waiting for thread 1 sequence 24861
Media Recovery Log /oradata/archivelog/1_24861_751423971.dbf
Media Recovery Log /oradata/archivelog/2_14216_751423971.dbf
Media Recovery Log /oradata/archivelog/3_13739_751423971.dbf
Media Recovery Log /oradata/archivelog/3_13740_751423971.dbf
Media Recovery Waiting for thread 2 sequence 14217
MESSAGE
--------------------------------------------------------------------------------
Media Recovery Log /oradata/archivelog/2_14217_751423971.dbf
Media Recovery Waiting for thread 3 sequence 13741
Media Recovery Log /oradata/archivelog/3_13741_751423971.dbf
Media Recovery Waiting for thread 1 sequence 24862
Media Recovery Log /oradata/archivelog/1_24862_751423971.dbf
Media Recovery Waiting for thread 2 sequence 14218
Media Recovery Log /oradata/archivelog/2_14218_751423971.dbf
Media Recovery Waiting for thread 3 sequence 13742
74 rows selected.
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
8、开启备份,制定备份计划
对时脚本添加
[root@DataGuard ~]# crontab -l
#time
15 8 * * * /usr/sbin/ntpdate 10.53.1.9 &>/dev/null
备份脚本
#dbbackup
20 0 * * * /OCS/script/removebackup.sh
15 4 * * * /OCS/script/rman.sql
16 8 * * * /OCS/script/removearchive.sh
[root@DataGuard script]# cat removearchive.sh
/usr/bin/find /oradata/archivelog -name '*.dbf' -mtime +6 > /OCS/script/rmlog
for i in `/bin/cat /OCS/script/rmlog`
do
/bin/rm -f $i
done
[root@DataGuard script]# cat removebackup.sh
#/bin/ls
#/bin/rm
/usr/bin/find /mnt/rman -name 'oradb1*' > /OCS/script/rmlog
for i in `/bin/cat /OCS/script/rmlog`
do
/bin/rm -rf $i
done
[root@DataGuard script]# cat rman.sql
su - oracle <<EOF
export ORACLE_SID=wip
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
sqlplus /nolog @/OCS/script/switch2.sql
rman target / @/OCS/script/rman_full_backup.sql >>/mnt/rman/log/RmanBackup_`date +%y%m%d`.log
/bin/mv /mnt/rman/oradb /mnt/rman/oradb`date +%y%m%d`
/bin/mkdir -p /mnt/rman/oradb
sqlplus /nolog @/OCS/script/switch3.sql
exit
EOF
[root@DataGuard script]# cat rman_full_backup.sql
run{
sql 'alter database backup controlfile to trace';
backup database tag 'FULL' filesperset 1 format '/mnt/rman/oradb/%d_Full_%T_%u_%p_%c';
crosscheck archivelog all;
delete noprompt expired archivelog all;
crosscheck backup;
delete noprompt expired backup;
backup archivelog all filesperset 5 format '/mnt/rman/oradb/%d_LOG_%T_%u_%p_%c';
delete archivelog until time 'sysdate-7';
#backup filesperset 20 format 'al_%s_%p_%t' archivelog all delete input;
copy current controlfile to '/mnt/rman/oradb/CON_BACKUP.CTL';
delete noprompt obsolete;
}
exit
[root@DataGuard script]# cat switch2.sql
connect / as sysdba
alter database recover managed standby database cancel ;
alter database open read only ;
exit
[root@DataGuard script]# cat switch3.sql
connect / as sysdba
alter database recover managed standby database disconnect from session ;
exit
安装CA软件的agent,进行磁带备份
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341