Oracle資料庫(資料泵)遷移方案(上)

龍山游龍發表於2023-03-14

第一部分  遷移 實施流程

X XX 客戶 需要遷移 X XX 資料庫, 目前, X XX 生產庫執行在 HP-UNIX 上面,目標端為 LINUX 6.10 環境,計劃採用資料泵遷移 方式進行 割接。

1.1  專案聯絡人員

以下 為具體專案聯絡人 ,如下:

聯絡人

手機

郵箱

角色













 

1.2  測試遷移流程

STEP

實施 內容

實施 人員

實施時間

是否 業務

1.

目標端安裝作業系統和資料庫

X XX

1

2.

目標端初始化 空庫 及最佳化配置

X XX

3 小時

3.

源端匯出業務 資料 expdp

X XX

2 小時

4.

目標端 匯入 業務 資料 im pdp

X XX

4 小時

5.

目標端校驗 無 效物件 及處理

X XX

1 小時

6.

目標端開啟 監聽 服務

X XX

1 小時

7.

應用程式全模組通測

應用廠商

2

8.

形成測試遷移方案

X XX

2 小時

 

1.3  正式遷移流程

STEP

實施 內容

實施 人員

實施時間

是否 業務

1.

目標端資料庫重新初始化

X XX

3 小時

2.

源端關閉應用服務(含停監聽)

X XX

3 0 分鐘

3.

源端匯出業務 資料 expdp

X XX

2 小時

4.

目標端 匯入 業務 資料 im pdp

X XX

4 小時

5.

目標端校驗 無 效物件 及處理

X XX

1 小時

6.

源端和目標端 I P 地址改造

X XX

3 0 分鐘

7.

目標端開啟 監聽 服務

X XX

1 小時

8.

應用程式全模組通側

應用廠商

30 分鐘

9 .

形成正式割接方案

X XX

2 小時


第二部分  前期環境確認

前期的 調研及專案需求需要 最終 客戶配合, 完成 前期的 環境確認 工作。

2.1  源端生產庫基礎資訊確認

資料庫資訊

資料庫版本

10.2.0.1.0 - 64bi t

資料庫名稱

J k

資料量

283.667847 G

歸檔路徑

/u02/archive

資料庫 字符集

Z HS16GBK


源端查詢,獲取目標端業務表空間初始化建立 語句

set heading off feedback off trimspool on linesize 500 
spool tts_create_ts.sql 
prompt /* ===================== */ 
prompt /* Create user tablespaces */ 
prompt /* ===================== */ 
select 'create TABLESPACE ' || tablespace_name || 
       ' DATAFILE ' ||'''+DATA/nbhz/'||tablespace_name||'.dbf'''||' size 10M autoextend on;'
   from dba_tablespaces 
   where tablespace_name not in ('SYSTEM','SYSAUX') 
      and contents = 'PERMANENT'; 
spool off


注意:絕對 路徑及大小 ,要 根據 實際 環境 做替換。

2.2  目標端資料庫基礎資訊確認

資料庫資訊

資料庫版本

11.2.0.4.0-64bit

資料庫名稱

J k

歸檔路徑

+ ARCH

資料庫 字符集

Z HS16GBK

          2.3  部署目標端資料庫環境

根據目標環境的建設要求,手動安裝 G I 叢集軟體( R AC 架構)、資料庫軟體、 P SU 補丁集以及資料庫建立及引數最佳化等工作。

2.4  目標端資料庫引數最佳化

為了 保證資料庫 執行 在最優模式下,需要最佳化 下列 引數

2.4.1 密碼策略

密碼過期 時間,從 11 g 開始, oracle 對資料庫所有密碼預設過期時間 180 天。

SQL> alter profile default limit  PASSWORD_LIFE_TIME unlimited;

         密碼 登陸錯誤 次數, 對於輸入錯誤密碼導致資料庫 賬號 被鎖定

SQL> alter profile default limit  FAILED_LOGIN_ATTEMPTS unlimited;

         密碼 大小寫敏感 該引數預設值是TRUE ,因此,預設情況下密碼大小寫是敏感的

SQL> alter system set SEC_CASE_SENSITIVE_LOGON=false sid='*';

         密碼錯誤延遲登入, 11G 引入了延遲密碼驗證,在輸入錯誤的密碼後,後續如果還是採用錯誤的密碼登陸,將會導緻密碼延遲驗證,從第三次開始,後續的每次登陸導緻密碼延遲 1 秒左右,而且會導致失敗登陸延長,可以透過如下事件來遮蔽密碼的延遲驗證。

SQL> ALTER SYSTEM SET event='28401 TRACE NAME CONTEXT FOREVER, LEVEL 1' SCOPE=SPFILE SID='*';

2.4.2 審計 策略

O racle 的審計從 11 g 開始, 預設 為開啟,建議關閉

SQL> alter system set audit_trail=none scope=spfile sid='*';

2.4.3 CPU 資源管理

關閉 Resource Manager 特性為 11 g 新特性,用來給特定的資源組分配指定的 CPU 配額,容易引起 等待事件: RESMGR:cpu quantum 導致資料庫響應慢 CPU 耗盡。

ALTER SYSTEM SET "_resource_manager_always_on"=FALSE SCOPE=SPFILE SID='*';
alter system set "_resource_manager_always_off"=true scope=spfile;
 
execute dbms_scheduler.set_attribute('SATURDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('SUNDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('TUESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEDNESDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('THURSDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('FRIDAY_WINDOW','RESOURCE_PLAN','');

2.4.4 關閉延遲段建立

ALTER SYSTEM SET deferred_segment_creation=FALSE SCOPE=SPFILE SID='*';

2.4.5 直接 路徑讀

對於大表, Oracle 11g 傾向於直接路徑讀。如果 AWR ,關於直接 路徑 讀的等待事件較高,可以考慮關閉該等待事件。

alter system  set "_serial_direct_read"=never scope=spfile sid='*'

2.4.6 最佳化 引數   SCN 部分  

alter system set "_external_scn_rejection_threshold_hours"=1 scope=spfile sid='*';
alter system set "_external_scn_logging_threshold_seconds"=600 scope=spfile sid='*';

2.4.7 記憶體 引數最佳化

根據超融合虛擬機器實分配的物理 記憶體進行最佳化, 如果記憶體較大,建議開啟作業系統大頁,大頁配置與 S GA 保持一致,要儘量滿足  SGA+PGA 記憶體 >60%OS_Mem ,並且 確保主機交換 空間 充足 ,防止出現 O OM

2.4.8 線上 日誌調整

線上 redo 日誌組建議,每個節點 5 ,每組一個日誌檔案,每個日誌檔案 大小 不小於5 00 M 由於涉及到匯入操作,為了在一定程度加快匯入,可以臨時將redo 設定到 1 G

2.5  對比生產端引數檔案

由於 升級涉及到跨版本,將HP-UNIX 端的引數檔案 create 出來,並檢查是否存在特殊的隱含引數 或者 event ,並確認引數 使用場景 ,如果在 高版本 新環境中引數依舊生效, 需要 將引數設定到 高版本 環境中

端執行:

su - oracle
sqlplus "/ as sysdba"
SQL> create pfile='/tmp/initjk.ora' from spfile;

根據 create 出來的引數檔案 ,檢查確認是否 存在特殊引數 如果存在, 需要 目標端資料庫進行 修改 ,保持一致

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30310891/viewspace-2939580/,如需轉載,請註明出處,否則將追究法律責任。

相關文章