Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-測試環境驗證
本文分享了一次真實的遷移案例,將某業務系統生產環境Oracle資料庫進行遷移,資料庫版本為11.2.0.4。資料庫遷移之前部署在RedHat6.5作業系統中,以單機單例項檔案系統部署;遷移之後部署在Solaries11作業系統中,以ASM雙節點RAC叢集部署。本文分享的主要內容是遷移過程中對生產環境的變更和調整思路,以及遷移過程中遇到問題的解決方案,整個遷移過程包括測試環境驗證、備份策略驗證、生產環境切換等三大步驟,並未涉及資料庫的安裝部署。希望文章的整體處理思路對讀者有幫助。
測試環境驗證的目的如下:
(1)演練生產環境資料庫的遷移過程。
(2)驗證使用新資料庫,常規應用功能是否正常。
(3)部署應用程式,為後續測試做準備
目錄結構搶先看
1.選擇測試環境
2.修改rac叢集的scan ip
3.選擇其中一個節點新建directory
4.在ASM中新建表空間
5.上傳生產資料庫邏輯備份檔案
6.生產資料還原
7.修改資料庫使用者密碼
8.修改資料庫中的配置資訊
9.修改資料庫密碼永不過期
10.修改資料庫密碼錯誤不鎖定使用者
11.手工收集統計資訊
12.修改應用中的資料庫連線為Service連線
13.依次啟動應用並驗證交易
1.選擇測試環境
(注:這裡選擇一套現成的測試環境用於驗證,減少在測試環境準備上耗費的時間。)
(1)選擇一套測試環境,資料庫IP為100.100.100.103,應用伺服器IP為100.100.100.194
(2)依次登陸應用伺服器和資料庫伺服器,關閉應用和資料庫,同時關閉資料庫伺服器100.100.100.103
(3)執行命令ping 100.100.100.103,確保資料庫伺服器已關閉。
2.修改rac叢集的scan ip
(注:這裡選擇直接修改RAC叢集的scan ip為100.100.100.103 ,確保應用中的執行緒池啟動後可連線。)
操作步驟參考文章:
http://blog.itpub.net/31394774/viewspace-2217511/
3.選擇其中一個節點新建directory
注:這裡考慮到該系統目前的生產資料量不大,使用資料泵expdp備份方便快捷。
在cwgsdb1伺服器上新建directory
oracle@cwgsdb1:~$ mkdir -p /u01/app/oracle/dump oracle@cwgsdb1:~$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Oct 23 22:08:42 2018 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> create or replace directory dpdata1 as '/u01/app/oracle/dump'; Directory created. SQL> grant read,write,execute on directory dpdata1 to public; Grant succeeded.
4.在ASM中新建表空間
(注:這裡只列舉部分表空間,將表空間建立在ASM檔案系統中)
create tablespace cams_core_idx datafile '+DATADG/CAMS/DATAFILE/CAMS_CORE_IDX_001.dbf' size 100M AUTOEXTEND ON next 200M maxsize unlimited; create tablespace cams_core_tab datafile '+DATADG/CAMS/DATAFILE/CAMS_CORE_TAB_001.dbf' size 100M AUTOEXTEND ON next 200M maxsize unlimited; create tablespace cams_core_lob datafile '+DATADG/CAMS/DATAFILE/CAMS_CORE_LOB_001.dbf' size 100M AUTOEXTEND ON next 200M maxsize unlimited;
5.上傳生產資料庫邏輯備份檔案
oracle@cwgsdb1:~$ cd /u01/app/oracle/dump/oracle@cwgsdb1:/u01/app/oracle/dump$ ls -lrt total 8751362 -rw-r--r-- 1 oracle oinstall 4475846656 Oct 23 22:41 camsData20181017.dmp -rw-r--r-- 1 oracle oinstall 335274 Oct 23 22:54 camsData20181017.log
6.生產資料還原
oracle@cwgsdb1:/u01/app/oracle/dump$ impdp \'/ as sysdba\' DIRECTORY=dpdata1 DUMPFILE=camsData20181017.dmp SCHEMAS=xxx,yyy logfile=impdp_camsData20181017.log
7.修改資料庫使用者密碼
(注:測試環境密碼和生產不一致,需要將生產環境使用者密碼進行修改)
alter user XXXX dientified by 123456;
8.修改資料庫中的配置資訊
(1)修改資料庫中帶使用者/密碼的配置資訊
(2)修改資料庫中帶IP地址的配置資訊
(3)修改資料庫中帶路徑的配置資訊(注:如果生產環境儲存路徑和測試不一致)
9.修改資料庫密碼永不過期
(注:如果有DBA定期修改密碼,可不執行該步驟)
SQL> set linesize 200; SQL> col limit for a30; SQL> select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD_%'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- ------------------------------ DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 6 rows selected.
現在詳細解釋一下各引數值:
PASSWORD_LIFE_TIME 口令的生命週期,單位是天,超過這段時間口令可能會自動過期,是否過期要看是否設定了PASSWORD_GRACE_TIME
PASSWORD_REUSE_TIME 這個特性限制口令在多少天內不能重複使用,預設值為UNLIMITED
PASSWORD_REUSE_MAX 這個特性是針對PASSWORD_REUSE_TIME的,說明要想在 PASSWORD_REUSE_TIME 這個引數指定的時間內重複使用當前口令,那麼至少需要修改過口令的次數(修改過的口令當然肯定需要和當前口令不同,因為畢竟還有PASSWORD_REUSE_TIME特性的限制)
PASSWORD_VERIFY_FUNCTION 可以設定oracle使用者的密碼複雜度,比如密碼長度>=10,必須包含字母/數字等
PASSWORD_LOCK_TIME 接著FAILED_LOGIN_ATTEMPTS引數,口令被自動鎖定的時間,達到這個時間之後,下次登入時系統自動解除對這個賬戶的鎖定
PASSWORD_GRACE_TIME 接著PASSWORD_LIFE_TIME特性,如果PASSWORD_LIFE_TIME的期限已到,PASSWORD_GRACE_TIME是對口令生命週期的一個grace(寬限或延續),表示口令到期後,可以繼續使用的天數。在這段時間內如果我們登陸系統,會有提示,提示系統在幾天內過期
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;Profile altered. SQL> select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD_%'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- ------------------------------ DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 6 rows selected.
10.修改資料庫密碼錯誤不鎖定使用者
(注:為了防止使用者配錯密碼或者惡意攻擊導致密碼鎖定,造成生產故障)
SQL> select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'FAILED%'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- -------------------- DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
FAILED_LOGIN_ATTEMPTS 不知道口令的話嘗試登入的次數,達到這個次數之後賬戶被自動鎖定
SQL> ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;Profile altered. SQL> select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'FAILED%'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- -------------------- DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
11.手工收集統計資訊
exec dbms_stats.gather_schema_stats('XXXX');
12.修改應用中的資料庫連線為Service連線
(注:之前的資料庫為單例項,部分資料庫連線配置資訊為SID連線,這裡需要全部改為Service連線,透過scan ip連線RAC叢集)
dataSource.url=jdbc:oracle:thin:@100.100.100.103:1521:cams
修改為
dataSource.url=jdbc:oracle:thin:@100.100.100.103:1521/cams
13.依次啟動應用並驗證交易
按順序依次啟動應用,測試多組跨子系統的交易,然後在資料匯流排監控平臺上檢視交易的報文以及成功狀態。
至此,測試環境驗證工作順利完成。下一步的工作是進行資料庫的備份策略驗證。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31394774/viewspace-2219302/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-備份策略驗證Oracle資料庫Linux
- Oracle資料庫從Linux x86單機遷移到Solaries雙節點RAC叢集經驗分享-生產環境切換Oracle資料庫Linux
- Oracle RAC一鍵部署001(主機環境校驗)Oracle
- Win環境至Linux環境Oracle資料庫遷移全過程LinuxOracle資料庫
- PostgreSQL資料庫PGCM高階認證考試經驗分享SQL資料庫GC
- 時序資料庫TDengine的叢集使用經驗分享,附上開源版本資料庫
- 達夢資料庫初體驗-單機環境部署記錄資料庫
- Oracle23ai 資料庫的簡單驗證OracleAI資料庫
- 經驗分享:將微服務遷移到Spring WebFlux - allegro.tech微服務SpringWebUX
- 訓練集、驗證集、測試集
- 快速體驗k8s叢集的測試、開發環境--allinone部署K8S開發環境None
- 從微服務遷移到工作流的經驗之談微服務
- 功能分支是邪惡的:從SVN遷移到Git經驗Git
- 【odoo】[經驗分享]資料遷移注意事項Odoo
- 效能優化資料庫篇-從單機到叢集優化資料庫
- Oracle資料庫遷移到國產資料庫核心難點解析 | 聯盟釋出Oracle資料庫
- MySQL從庫維護經驗分享MySql
- Oracle資料庫密碼延遲驗證Oracle資料庫密碼
- Cloudflare 從 PHP 到 Go:遷移與經驗分享CloudPHPGo
- ZooKeeper 系列(二)—— Zookeeper單機環境和叢集環境搭建
- 記一次資料庫遷移到rac11204資料庫連線scan找不到主機資料庫
- 從庫轉換成PXC叢集的節點
- Oracle 例項和RAC叢集下資料庫日誌目錄合集Oracle資料庫
- consul 多節點/單節點叢集搭建
- 使用kubeadm搭建一單節點k8s測試叢集K8S
- ORACLE 11.2.0.4 rac for linux 鏈路宕導致的單節點異常當機OracleLinux
- DM8 配置DMDSC主備環境(rac到單節點 )
- 拿三個專案,跟你聊聊Oracle資料庫資料遷移的一些經驗Oracle資料庫
- 表單資料驗證
- MySQL資料庫遷移到PostgresMySql資料庫
- 私有IP丟失造成Oracle 12C RAC叢集節點不能啟動Oracle
- 求助大佬,想要往測試環境 mq 或者 Kafka 叢集推送測試資料,能使用哪些工具?MQKafka
- Oracle RAC新增節點Oracle
- 1分鐘將你的jenkins構建環境遷移到K8S叢集上JenkinsK8S
- oracle資料庫跨平臺(AIX)從RAC恢復至(linux)下的單例項Oracle資料庫AILinux單例
- Elastic認證叢集環境準備AST
- 容器化|自建 MySQL 叢集遷移到 KubernetesMySql
- 從過時的 Windows 機器遷移到 LinuxWindowsLinux