Centos 4.4下10G Dataguard配置

來源:互聯網
上載者:User

環境:

os: CentOS4.4

Oracle: oracle10gR1(安裝軟體為10201_database_linux32.zip,暫未升級到R2,不影響下面的配置)

primary: 192.168.0.5 (主機名稱RAC1)

standby: 192.168.0.7(主機名稱RAC3)



1) 配好雙機的(含rac1,rac3)的profile .

# .sh_profile

# Get the aliases and functions

#if [ -f ~/.bashrc ]; then

# . ~/.bashrc

#fi

# User specific environment and startup programs

#export BASH_ENV=$HOME/.bashrc

export PATH=$ORACLE_HOME/bin:$HOME/bin:$PATH:/sbin:/usr/local/bin:/usr/local/sbin

PATH=$PATH:/sbin:/home/oracle/product/10.2.0/db_1/bin:$oracle_home/jre/bin:/bin:/usr/bin:/usr/bin:/etc:/usr/local/bin:

export PATH

unset USERNAME

ORACLE_OWNER=oracle

export ORACLE_BASE=/home/oracle

export ORACLE_HOME=/home/oracle/product/10.2.0/db_1

export ORACLE_SID=rac

TNS_ADMIN=/home/Oracle/config/10.2.0; export TNS_ADMIN

NLS_LANG=american_america.ZHS16GBK; export NLS_LANG

#ORA_NLS33=$Oracle_HOME/ocommon/nls/admin/data; export ORA_NLS33

CLASSPATH=$Oracle_HOME/JRE:$Oracle_HOME/jlib:$Oracle_HOME/rdbms/jlib:/opt/j2sdk_nb/j2sdk1.4.2/bin

export CLASSPATH

TMPDIR=/tmp;export TMPDIR

umask 022

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

#export LD_PRELOAD=/home/oracle/libcwait.so;

LD_ASSUME_KERNEL=2.6.9; export LD_ASSUME_KERNEL

#NLS_LANG="Simplified Chinese_china".ZHS16GBK;export NLS_LANG

LC_CTYPE=zh_CN.GB2312

NLS_LANG=american_america.ZHS16GBK; export NLS_LANG

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

LANG=

LC_ALL=

DISPLAY=192.168.0.3:0.0;export DISPLAY;

export PS1="\u@\H $"

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/sh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi



2) 檢查所需軟體

在每個節點上執行相同的操作:

執行下面的命令: rpm -q binutils compat-db control-center gcc gcc-c++ glibc gnome-libs libstdc++ libstdc++-devel make openmotif21

缺少的包請安裝。



3) 配置核心參數

在每個節點上執行相同的操作:

編輯/etc/sysctl.conf 檔案,添加下面的內容:

#For Oracle

kernel.sem = 250 32000 100 128

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.shmmax = 2147483648

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 或重起系統



4) 設定 Shell 對 Oracle 使用者的限制

在每個節點上執行相同的操作:

編輯 /etc/security/limits.conf,添加如下內容:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384



編輯/etc/pam.d/login,添加如下內容:

session required /lib/security/pam_limits.so



5)在主庫(rac1)上安裝10gr1 軟體,不裝資料庫

將product, oraInventory目錄打包傳到輔的(rac3)的oracle_home目錄下(即/home/oracle)並在rac3上解開。



6)在主庫(rac1)上通過dbca建立資料庫,選用預設配置。

Sid和profile裡指定的一樣,為rac



7) 關閉主庫,將/home/oracle/oradata/rac/下的檔案copy到 rac3上的相同位置。



SQL> startup

ORACLE instance started.



Total System Global Area 167772160 bytes

Fixed Size 1218292 bytes

Variable Size 67111180 bytes

Database Buffers 92274688 bytes

Redo Buffers 7168000 bytes

Database mounted.

Database opened.

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /home/oracle/product/10.2.0/db_1/dbs/arch

Oldest online log sequence 0

Next log sequence to archive 1

Current log sequence



SQL> alter system set log_archive_dest_1='location=/home/oracle/oradata/rac/archive';



System altered.



SQL> alter system set log_archive_format='log_%t_%s_%r.arc' scope=spfile;



System altered.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.



SQL> startup

ORACLE instance started.

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

Database mounted.

Database opened.



SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /home/oracle/oradata/rac/archive

Oldest online log sequence 0

Next log sequence to archive 1

Current log sequence 1



建立standby控制檔案

SQL> alter database create standby controlfile as '/home/oracle/standby.ctl' ;

Database altered.



將standby.ctl傳到 rac3 的 /home/oracle/oradata/rac/ 下



配置主庫的listener.ora tnsnames.ora



oracle@rac1 $cat listener.ora

LISTENER_RAC1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.5)(PORT = 1521))

)



SID_LIST_LISTENER_RAC1 =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = rac)

(ORACLE_HOME = /home/oracle/product/10.2.0/db_1)

(SID_NAME = rac)

)

)



rac1,rac3的tnsnames.ora皆為

RAC3 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.7)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = rac)

)

)



RAC1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.5)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = rac)

)

)



輔庫的listener.ora

oracle@rac3 $vi listener.ora

# listener.ora Network Configuration File: /home/oracle/product/10.2.0/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.



SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = rac)

(ORACLE_HOME = /home/oracle/product/10.2.0/db_1)

(SID_NAME = rac)

)

)



LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac3)(PORT = 1521))

)



如果覺得手工編輯上述檔案容易出錯,建議用netca建立。



啟動主庫的istener

oracle@rac1 $lsnrctl start

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

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1)(PORT=1521)))

The listener supports no services

The command completed successfully

啟動輔庫的istener

oracle@rac3 $lsnrctl start

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

Instance "rac", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

用tnsping檢查tns配置

oracle@rac3 $tnsping rac1

oracle@rac3 $tnsping rac3

oracle@rac1 $tnsping rac1

oracle@rac1 $tnsping rac3

在主庫rac1上建立pfile並將其傳到輔庫rac3上相應位置$oracle_home/dbs 。

oracle@rac1 $sqlplus '/as sysdba'

SQL> create pfile='/home/oracle/initrac.ora' from spfile;

File created.

將rac1上的/home/oracle/initrac.ora ftp 傳到輔庫rac3上相應位置$oracle_home/dbs

在rac3上修改剛傳來的initrac.ora檔案

oracle@rac3 $more initrac.ora

rac.__db_cache_size=92274688

rac.__java_pool_size=4194304

rac.__large_pool_size=4194304

rac.__shared_pool_size=58720256

rac.__streams_pool_size=0

*.audit_file_dest='/home/oracle/admin/rac/adump'

*.background_dump_dest='/home/oracle/admin/rac/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/home/oracle/oradata/rac/standby.ctl'

*.core_dump_dest='/home/oracle/admin/rac/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='rac'

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

*.job_queue_processes=10

*.log_archive_dest_1='location=/home/oracle/oradata/rac/archive'

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

*.open_cursors=300

*.pga_aggregate_target=16777216

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=167772160

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/home/oracle/admin/rac/udump'

*.STANDBY_ARCHIVE_DEST='/home/oracle/oradata/rac/standbyarchive'

*.fal_server='rac1'

*.fal_client='rac3'

*.STANDBY_FILE_MANAGEMENT='AUTO'

*.DB_FILE_NAME_CONVERT='/home/oracle/oradata/rac/','/home/oracle/oradata/rac/'

*.LOG_FILE_NAME_CONVERT='/home/oracle/oradata/rac/archivelog','/home/oracle/oradata/rac/archivelog'



其中/home/oracle/oradata/rac/standbyarchive需要建立

將主庫上的口令檔案orapwrac傳到輔庫rac3上的對應位置。



將輔庫rac3啟動

oracle@rac3 $sqlplus '/as sysdba'



SQL> startup nomount;

ORACLE instance started.



SQL> alter database mount standby database;

Database altered.



SQL> alter database recover managed standby database disconnect from session;

Database altered.

在主庫上設定到輔庫rac3上的歸檔路徑

oracle@rac1 $sqlplus '/as sysdba'

SQL> alter system set log_archive_dest_2='service=rac3 mandatory reopen=60';

System altered.

定義了主庫向副庫傳輸日誌

# 定義歸檔到備用庫,強制歸檔,重試時間60秒。
# 如果定義為可選狀態(optional),那麼在歸檔失敗後不會再次嘗試歸檔的。定義
# 為madatory狀態後,如果本次歸檔失敗,則在歸檔下一個日誌時會再次嘗試



SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIV STATUS FIRST_CHANGE# FIRST_TIME

1 1 0 52428800 1 YES UNUSED

2 1 0 52428800 1 YES UNUSED 0

3 1 1 52428800 1 NO CURRENT 446075 2007-06-28 13:41:10



SQL> alter system switch logfile;

System altered.



SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIV STATUS IRST_CHANGE# FIRST_TIME

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

1 1 2 52428800 1 NO CURRENT 457776 2007-06-29 23:47:06

2 1 0 52428800 1 YES UNUSED 0

3 1 1 52428800 1 NO ACTIVE 446075 2007-06-28 13:41:10



察看輔庫上alert日誌

oracle@rac3 $tail -f alert_rac.log

Mon Jul 9 18:50:51 2007

Completed: alter database recover managed standby database disconnect from session

Mon Jul 9 18:50:51 2007

Clearing online redo logfile 3 complete

Media Recovery Log /home/oracle/oradata/rac/standbyarchive/log_1_1_626449270.arc

Media Recovery Log /home/oracle/oradata/rac/standbyarchive/log_1_2_626449270.arc

Media Recovery Log /home/oracle/oradata/rac/standbyarchive/log_1_3_626449270.arc

Media Recovery Log /home/oracle/oradata/rac/standbyarchive/log_1_4_626449270.arc

Media Recovery Log /home/oracle/oradata/rac/standbyarchive/log_1_5_626449270.arc

Media Recovery Waiting for thread 1 sequence 6



Mon Jul 9 18:54:03 2007

Redo Shipping Client Connected as PUBLIC

-- Connected User is Valid

RFS[1]: Assigned to RFS process 3025

RFS[1]: Identified database type as 'physical standby'

Mon Jul 9 18:54:03 2007

RFS LogMiner: Client disabled from further notification

  • 1
  • 2
  • 下一頁
【內容導航】
第1頁:Centos 4.4下10G Dataguard配置(上) 第2頁:Centos 4.4下10G Dataguard配置(下)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.