千家信息网

ORACLE 10GR2 DATAGUARD ON RHEL 6

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,1、OS安装Red Hat Enterprise Linux Server release 6.4 (Santiago)64位IP:10.56.1.204 10.55.1.2042、安装oracle
千家信息网最后更新 2024年11月29日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: {=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 <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,进行磁带备份



文件 备份 监听 拷贝 数据 数据库 参数 密码 文档 日志 状态 系统 脚本 软件 进程 参考 同步 应用 配置 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 wps如何取出相同数据库 网络安全管理体系证书认证公司 软件开发对电脑硬件要求 软件开发和程序员区别 机架服务器上机架安装教程 原神不同服务器角色互通吗 河南服务器负载均衡品牌云服务器 xml数据库软件中文官方版 每天增量数据使用什么数据库 湖南嵌入式软件开发推荐 腾讯轻量应用服务器每月多少流量 大数据技术之nosql数据库 工行软件开发中心服装 网络安全组长是干嘛呢 数据库管理阶段说法错误 vpn中继服务器 相对突出的服务器维护 数据库系统前置课程 网络安全的核心素养是什么 江西共青团网络安全教育课 泛微软件开发怎么样 迁西电子网络技术不二之选 奇迹mu风云再起服务器关服了吗 枣庄平台软件开发 永定区连筱网络技术 旷视科技资深软件开发 服务器程序未能连接到数据库 网络安全导致国家利益受损 北京亲家网络技术有限公司 jsp每几秒查一次数据库
0