Oracle数据保护DataGuard安装和配置二

                    Oracle数据保护DataGuard安装和配置二

续接上一篇。

主库上的操作

强制日志

Alter database force logging;

开启归档,指定归档路径

Shutdown immediate;

Startup mount;

Alter database archivelog;

Alter system set log_archive_dest_1 = ‘’;

Alter database open;

设置相关参数,通过pfile方式设置

create pfile='/home/oracle/pfile.txt' from spfile;

Shutdown immediate;

编辑pfile文件

Vi /home/oracle/pfile.txt

 

orcl.__large_pool_size=16777216

orcl.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment

orcl.__pga_aggregate_target=754974720

orcl.__sga_target=2231369728

orcl.__shared_io_pool_size=0

orcl.__shared_pool_size=486539264

orcl.__streams_pool_size=0

*.audit_file_dest='/u01/oracle/admin/orcl/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/fast_recovery_area/orcl/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='orcl'

*.db_unique_name='prim'

*.fal_client='prim'

*.fal_server='pdg'

*.db_file_name_convert='/u01/oracle/oradata/orcl','/u01/oracle/oradata/orcl'

*.log_file_name_convert='/u01/oracle/oradata/orcl','/u01/oracle/oradata/orcl'

*.db_recovery_file_dest='/u01/oracle/fast_recovery_area'

*.db_recovery_file_dest_size=4322230272

*.diagnostic_dest='/u01/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.log_archive_config='DG_CONFIG=(prim,pdg)'

*.log_archive_dest_1='LOCATION=/u01/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=prim'

log_archive_dest_2  = 'SERVICE=pdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pdg'

*.log_archive_format='%t_%s_%r.arc'

*.standby_file_management='AUTO'

*.open_cursors=300

*.pga_aggregate_target=739246080

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=2217738240

*.undo_tablespace='UNDOTBS1'

 

编写listener.ora

# Gracle configuration tools.

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/oracle/product/11.2.0)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = orcl)

      (ORACLE_HOME = /u01/oracle/product/11.2.0)

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = prim_new.com)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

    )

  )

编写tnsnames.ora

prim =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = prim_new.com)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = prim)

    )

  )

pdg =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = pdg_new.com)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = pdg)

    )

  )

这里的名字就是对应pfile中参数service后面的服务名。

select name,remote_archive,database_role,guard_status,db_unique_name from v$database;

查看主状态,是否已经就绪:

NAME   REMOTE_A DATABASE_ROLE    GUARD_S DB_UNIQUE_NAME

--------- -------- ---------------- ------- ------------------------------

ORCL   ENABLED  PRIMARY     NONE    prim

 

备库需要的相关文件

密码文件

在主库上:

生成:

[oracle@prim_new database]$ cd $ORACLE_HOME/dbs

[oracle@prim_new dbs]$ orapwd file=./orapw$ORACLE_SID password=oracle123 force=y

然后scp传输到备库,需要在同一个目录下:

[oracle@prim_new dbs]$ scp ./orapw$ORACLE_SID pdg.up.com:$ORACLE_HOME/dbs/

控制文件

在主库上生成控制文件:

alter database create standby controlfile as '/u01/control01.ctl';

然后传输到与主库同一个目录下。由于备机上时安装了与主机上完全相同目录的数据库,那么只需要将原来的文件删除保留目录就行,先备机上(相应目录上)删除oradata下面的所有文件。

备机上:

Shutdown immediate;

主机上:

scp /u01/control01.ctl pdg_new.com:/u01/oracle/oradata/orcl/control01.ctl

scp /u01/control01.ctl pdg_new.com:/u01/oracle/fast_recovery_area/orcl/control02.ctl

其他核心文件

数据文件,redo,归档文件全部传输到备库上,此时我将主库处于mount状态

主机上:shutdown immediate;

Startup mount;

Redo:

[oracle@prim_new orcl]$ scp *.log pdg_new.com:/u01/oracle/oradata/orcl/

Dbf:

[oracle@prim_new orcl]$ scp *.dbf pdg_new.com:/u01/oracle/oradata/orcl/

Archivelog:

[oracle@prim_new orcl]$ scp /u01/oracle/archivelog/*.arc pdg_new.com:/u01/oracle/archivelog/

Listener,tnsnames.ora

从主库上传输给备机,并且适当修改

[oracle@prim_new orcl]$ cd /u01/oracle/product/11.2.0/network/admin/

[oracle@prim_new admin]$ ll

total 16

-rw-r--r--. 1 oracle oinstall  475 Jan  8 06:58 listener.ora

drwxr-xr-x. 2 oracle oinstall 4096 Jan  8 03:29 samples

-rw-r--r--. 1 oracle oinstall  205 May 11  2011 shrept.lst

-rw-r--r--. 1 oracle oinstall  350 Jan  8 06:52 tnsnames.ora

[oracle@prim_new admin]$ scp *.ora pdg_new:$ORACLE_HOME/network/admin/

 

Pfile

将主机上的pfile文件传输到备机

[oracle@prim_new admin]$ scp /home/oracle/pfile.txt  pdg_new:/home/oracle/pfile.txt

oracle@pdg_new's password:

pfile.txt    

修改pfile.txt:

orcl.__large_pool_size=16777216

orcl.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment

orcl.__pga_aggregate_target=754974720

orcl.__sga_target=2231369728

orcl.__shared_io_pool_size=0

orcl.__shared_pool_size=486539264

orcl.__streams_pool_size=0

*.audit_file_dest='/u01/oracle/admin/orcl/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/fast_recovery_area/orcl/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='orcl'

*.db_unique_name='pdg'

*.fal_client='pdg'

*.fal_server='prim'

*.db_file_name_convert='/u01/oracle/oradata/orcl','/u01/oracle/oradata/orcl'

*.log_file_name_convert='/u01/oracle/oradata/orcl','/u01/oracle/oradata/orcl'

*.db_recovery_file_dest='/u01/oracle/fast_recovery_area'

*.db_recovery_file_dest_size=4322230272

*.diagnostic_dest='/u01/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.log_archive_config='DG_CONFIG=(prim,pdg)'

*.log_archive_dest_1='LOCATION=/u01/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pdg'

*.log_archive_dest_2='SERVICE=prim LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prim'

*.log_archive_format='%t_%s_%r.arc'

*.open_cursors=300

*.pga_aggregate_target=739246080

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=2217738240

*.undo_tablespace='UNDOTBS1'

 

启动备库到mount

备库:startup pfile=/home/oracle/pfile.txt mount

主机:alter database open;因为刚才是mount状态

alter database set standby database to maximize availability;

完成后,在备库上查看状态:

SQL>  select name,remote_archive,database_role,guard_status,db_unique_name from v$database;



NAME   REMOTE_A DATABASE_ROLE    GUARD_S DB_UNIQUE_NAME

--------- -------- ---------------- ------- ------------------------------

ORCL   ENABLED  PHYSICAL STANDBY NONE    pdg

备库开启日志应用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
发布了96 篇原创文章 · 获赞 22 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/chuan_day/article/details/87928788