一、 环境primary:IP:192.168.0.120
DB:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
OS:aix 5306
standby:IP:192.168.0.101
DB:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
OS:aix 5306
Primary为正在使用的生产数据库,standby安装oracle软件,但不建立数据库。二、 建立物理备用数据库1. 准备主库的oracle环境:编辑oracle用户的.profile文件,oracle相关环境变量如下:ORACLE_BASE=/oracle/app; export ORACLE_BASE
ORACLE_SID=yxjdb0; export ORACLE_SID
ORACLE_HOME=$ORACLE_BASE/10g/; export ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
2. 修改主库为归档模式建立归档目录:mkdir -p /oraarch修改归档模式:archive log list;
create pfile from spfile;编辑$ORACLE_HOME/dbs/initYXJDB0.ora添加下面一行log_archive_dest_1='location=/oraarch '
sqlplus /nolog
conn sys as sysdba
shutdown immediate;
create spfile from pfile;
startup nomount;
alter database mount;
alter database archivelog;
alter database open;
3.对主数据库做一次完整热备份,获得备用数据库数据RMAN>connect target
RMAN> backup database format='/home/oracle/%U_%s.bak';
RMAN> sql'Alter System Archive Log Current';
RMAN> Backup filesperset 10 ArchiveLog all format='/home/oracle/%U_%s.bak';
cd /home/oracle
scp *.bak 192.168.0.101:/home/oracle/
4.在standby服务器准备环境与primary相同编辑oracle用户的$HOME/.profile文件,oracle相关环境变量如下:ORACLE_BASE=/oracle/app; export ORACLE_BASE
ORACLE_SID=yxjdb0; export ORACLE_SID
ORACLE_HOME=$ORACLE_BASE/10g; export ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
5.准备相应目录,如日志文件路径,归档路径,参数文件路径,数据文件准备存放路径等$mkdir -p /oradata/yxjdb0
$mkdir -p /oradata/yxjdb0
$mkdir -p $ORACLE_BASE/admin/yxjdb0
$mkdir -p $ORACLE_BASE/admin/yxjdb0/bdump
$mkdir -p $ORACLE_BASE/admin/Byxjdb0S/cdump
$mkdir -p $ORACLE_BASE/admin/yxjdb0/udump
6.建立备用数据库参数文件主库的参数如下:yxjdb0.__db_cache_size=339738624
yxjdb0.__java_pool_size=33554432
yxjdb0.__large_pool_size=4194304
yxjdb0.__shared_pool_size=218103808
*.background_dump_dest='$ORACLE_BASE/admin/YXJDB0/bdump'
*.compatible='10.2.0.3.0'
*.control_files='/oradata/YXJDB0/control01.ctl','/oradata/YXJDB0/control02.ctl','/oradata/YXJDB0/control03.ctl'
*.core_dump_dest='$ORACLE_BASE/admin/YXJDB0/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='YXJDB0'
*.db_recovery_file_dest='$ORACLE_BASE/10g/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.db_writer_processes=4
*.dispatchers='(PROTOCOL=TCP) (SERVICE=YXJDB0XDB)'
*.global_names=FALSE
*.java_pool_size=32M
*.job_queue_processes=10
*.license_max_users=250
*.log_archive_dest_1='location=/oradata/YXJDB0/arch'
*.log_archive_dest_2='SERVICE=dbstandby LGWR'
*.open_cursors=300
*.pga_aggregate_target=199229440
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=598736896
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='$ORACLE_BASE/admin/YXJDB0/udump'
*.utl_file_dir='$ORACLE_BASE/admin/YXJDB0/bdump'与主数据库不一样的参数如下:#standby database parameter
standby_file_management=AUTO
remote_archive_enable=TRUE
standby_archive_dest='/oradata/YXJDB0/arch1'
fal_server='PRIMARY'
fal_client='STANDBY'
7.从主服务器拷贝口令文件到备用服务器8.配置网络连接修改主服务器的listener.ora文件如下:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.120)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/10g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = YXJDB0)
(ORACLE_HOME = /oracle/app/10g)
(SID_NAME = YXJDB0)
)
)
$lsnrctl start
$lsnrctl status查看监听状态.修改主服务器的tnsnames.ora文件如下:YXJDB0 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.120)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = YXJDB0)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.120)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = YXJDB0)
)
)
STANDBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = YXJDB0)
)
)修改备用服务器的listener.ora文件如下:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = YXJDB0)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/Db_1)
(SID_NAME = YXJDB0)
)
)