Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
          本文作者: junsansi???? 轉載網址: http://www.5ienet.com/index.shtml
          ?
          ?
          第二部分物理standby(2)創建示例? 2007.12.06
          ?
          ??? 為了最大的降低硬件需求,此處創建的data guard 處于同一臺機器,但其創建過程與多機并無區別。做為演示用的示例足夠了,我們分兩階段配置,分別是配置primary 數據庫和配置standby 數據庫,如下:
          ?
          ?
          一、Primary數據庫配置及相關操作
          ?
          1、確認主庫處于歸檔模式

          ?

          ??? SQL> archive log list;
          ??? 數據庫日志模式?????存檔模式
          ??? 自動存檔?????????? 啟用
          ??? 存檔終點?????????? E:\ora10g\oradata\jssweb
          ??? 最早的聯機日志序列? 148
          ??? 下一個存檔日志序列? 150
          ??? 當前日志序列?????? 150


          2、將primary 數據庫置為FORCE LOGGING 模式
          ?
          ??? 通過下列語句:

          ??? SQL> alter database force logging;
          ??? 數據庫已更改。


          3、創建standby 數據庫控制文件

          ??? SQL> alter database create standby controlfile as 'd:\backup\jsspdg01.ctl';
          ??? 數據庫已更改。

          ?
          4、創建primary 數據庫客戶端初始化參數文件
          ??? 注:主要此處修改項較多,為了方便,我們首先創建并修改pfile,然后再通過pfile 重建spfile,你當然也可以通過alter system set 命令直接修改spfile 內容。

          ??? SQL> create pfile from spfile;
          ??? 文件已創建。

          ?
          ??? 將該初始化參數文件復制一份,做為standby 數據庫的客戶端初始化參數文件

          ??? SQL> host copy e:\ora10g\product\10.2.0\db_1\database\initjssweb.ora d:\backup\initjsspdg.ora
          ??? 已復制1 個文件。


          ??? 修改客戶端初始化參數文件,增加下列內容:

          ??? DB_UNIQUE_NAME=jssweb
          ??? LOG_ARCHIVE_CONFIG='DG_CONFIG=(jssweb,jsspdg)'
          ??? LOG_ARCHIVE_DEST_1='LOCATION=E:\ora10g\oradata\jssweb\
          ??? VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jssweb'
          ??? LOG_ARCHIVE_DEST_2='SERVICE=jsspdg LGWR ASYNC
          ??? VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jsspdg'
          ??? LOG_ARCHIVE_DEST_STATE_1=ENABLE
          ??? LOG_ARCHIVE_DEST_STATE_2=ENABLE
          ??? REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
          ??? #--------配置standby 角色的參數用于角色轉換
          ??? FAL_SERVER=jsspdg
          ??? FAL_CLIENT=jssweb
          ??? DB_FILE_NAME_CONVERT='oradata\jsspdg','oradata\jssweb'
          ??? LOG_FILE_NAME_CONVERT='oradata\jsspdg','oradata\jssweb'
          ??? STANDBY_FILE_MANAGEMENT=AUTO

          ?
          ??? 通過pfile 重建spfile

          ??? SQL> shutdown immediate
          ??? ... ...
          ??? SQL> create spfile from pfile='initjssweb.ora';
          ??? 文件已創建。

          ?
          5、復制數據文件到standby 服務器(方式多樣,不詳述)

          ??? 注意需要復制所有數據文件,備份的控制文件及客戶端初始化參數文件
          ?
          6、配置listener 及net service names(方式多樣,不詳述)
          ?
          ??? 完之后重啟listener:

          ??? E:\ora10g>lsnrctl stop
          ??? E:\ora10g>lsnrctl start

          ?
          ??? 通過tnsping 測試tnsnames 是否正確有效:

          ??? E:\ora10g>tnsping jssweb
          ??? ... ...
          ??? Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jss)(PORT = 1521))
          ??? (CONNECT_
          ??? DATA = (SERVER = DEDICATED) (SERVICE_NAME = jssweb)))
          ??? OK (30 毫秒)

          ??? E:\ora10g>tnsping jsspdg
          ??? ... ...
          ??? Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jss)(PORT = 1521))
          ??? (CONNECT_
          ??? DATA = (SERVER = DEDICATED) (SERVICE_NAME = jsspdg)))
          ??? OK (10 毫秒)

          ?
          ?
          二、StandbStandby數據庫配置及相關操作

          1、通過ORADIM 創建新的OracleService

          2、創建密碼文件,注意保持sys 密碼與primary 數據庫一致。
          ?

          ??? E:\ora10g>orapwd file=e:\ora10g\product\10.2.0\db_1\database\PWDjsspdg.ora password=verysafe entries=30


          3、創建目錄
          ?

          ??? E:\ora10g\product\10.2.0\admin\jsspdg>mkdir adump


          4、復制文件,不做過多描述

          5、修改初始化參數文件

          ??? 增加下列參數:

          ??? db_unique_name=jsspdg
          ??? LOG_ARCHIVE_CONFIG='DG_CONFIG=(jssweb,jsspdg)'
          ??? DB_FILE_NAME_CONVERT='oradata\jssweb','oradata\jsspdg'
          ??? LOG_FILE_NAME_CONVERT='oradata\jssweb','oradata\jsspdg'
          ??? LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc
          ??? LOG_ARCHIVE_DEST_1='LOCATION=E:\ora10g\oradata\jsspdg\
          ??? VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jsspdg'
          ??? LOG_ARCHIVE_DEST_STATE_1=ENABLE
          ??? #---下列參數用于角色切換
          ??? LOG_ARCHIVE_DEST_2='SERVICE=jssweb LGWR ASYNC
          ??? VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jssweb'
          ??? LOG_ARCHIVE_DEST_STATE_2=ENABLE
          ??? REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
          ??? FAL_SERVER=jssweb
          ??? FAL_CLIENT=jsspdg
          ??? STANDBY_FILE_MANAGEMENT=AUTO

          ??? 注意同時修改*_dest 的路徑。
          ?
          ??? 通過該pfile 創建spfile

          ??? SQL> create spfile from pfile='D:\backup\initjsspdg.ora';
          ??? 文件已創建。

          6、啟動standby 到mount
          ?

          ??? SQL> startup mount;
          ??? ORACLE 例程已經啟動。
          ??? Total System Global Area 167772160 bytes
          ??? Fixed Size 1289484 bytes
          ??? Variable Size 62915316 bytes
          ??? Database Buffers 96468992 bytes
          ??? Redo Buffers 7098368 bytes
          ??? 數據庫裝載完畢。

          ?
          7、啟動redo 應用
          ?

          ??? SQL> alter database recover managed standby database disconnect from session;
          ??? 數據庫已更改。


          8、查看同步情況
          ?
          ??? 首先連接到primary 數據庫

          ??? SQL> show parameter instance_name;
          ??? NAME????????????????? TYPE??????? VALUE
          ??? --------------------- ----------- ------------------------------
          ??? instance_name???????? string????? jssweb

          ?

          ??? SQL> alter system switch logfile;
          ??? 系統已更改。

          ?

          ??? SQL> select max(sequence#) from v$archived_log;
          ??? MAX(SEQUENCE#)
          ??? --------------
          ??? 51

          ?
          ??? 連接到standby 數據庫

          ??? SQL> show parameter instance_name;
          ??? NAME????????????????? TYPE??????? VALUE
          ??? --------------------- ----------- ------------------------------
          ??? instance_name???????? string????? jsspdg

          ?

          ??? SQL> select max(sequence#) from v$archived_log;
          ??? MAX(SEQUENCE#)
          ??? --------------
          ??? 51


          ?
          9、暫停應用

          ??? 通過下列語句暫停redo 應用。

          ??? SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
          ??? 數據庫已更改。

          ??? 注意,此時只是暫時redo 應用,并不是停止Standby 數據庫,standby 仍會保持接收只不過不會再應用接收到的歸檔,直到你再次啟動redo 應用為止。
          ?

          ??? 哈哈,成功鳥!現在你是不是想知道怎么把standby 變成primary 呢?接著往下看~~~~~~~~~




          -The End-

          posted on 2009-02-20 22:52 decode360-3 閱讀(219) 評論(0)  編輯  收藏 所屬分類: DBA
          主站蜘蛛池模板: 郴州市| 台中县| 南靖县| 舞阳县| 抚州市| 达拉特旗| 桐庐县| 关岭| 松溪县| 大冶市| 府谷县| 合江县| 鄂托克前旗| 静海县| 永州市| 名山县| 萨嘎县| 藁城市| 沧州市| 九台市| 朝阳县| 凤山市| 抚宁县| 铜川市| 高密市| 兴城市| 楚雄市| 深圳市| 明溪县| 满城县| 黔西县| 五河县| 迁西县| 新邵县| 涞水县| 九江县| 廉江市| 黑水县| 子洲县| 乳源| 历史|