成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

遷移數(shù)據(jù)庫(kù)時(shí),什么才是真正的Oracle環(huán)境保持一致

IT那活兒 / 610人閱讀
遷移數(shù)據(jù)庫(kù)時(shí),什么才是真正的Oracle環(huán)境保持一致

點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!

故障背景

最近在客戶現(xiàn)場(chǎng)打一個(gè)CDB環(huán)境的oracle PSU補(bǔ)丁時(shí),到了最后一步要執(zhí)行datapatch -verbose時(shí),遇到了如下報(bào)錯(cuò):
Error reading descriptor from registry: Couldnt open encmap gbk.enc:
No such file or directory
at /u01/app/oracle/product/19.0.0/dbhome_1/perl/lib/site_perl/5.28.1/x86_64-linux-thread-multi/XML/Parser.pm line 187.
XML::Simple called at /u01/app/oracle/product/19.0.0/dbhome_1/sqlpatch/sqlpatch.pm line 7780.
最終排查出來(lái)的原因是這個(gè)CDB庫(kù)里的一個(gè)pdb是從其它庫(kù)克隆過(guò)來(lái)的,雖然克隆前版本是一致的,但補(bǔ)丁升級(jí)路徑不一致。導(dǎo)致在執(zhí)行最后一步datapatch -verbose時(shí)執(zhí)行SQL時(shí)找不到相關(guān)補(bǔ)丁。以前的11G版本的Oracle是沒(méi)有這個(gè)問(wèn)題的。解決方案也很簡(jiǎn)單,從源CDB的db ORACLE_HOME/sqlpatch目錄下拷貝一份與目標(biāo)CDB不一樣的補(bǔ)丁號(hào)文件夾至目標(biāo)CDB的每個(gè)節(jié)點(diǎn)相同目錄下。

那我們今天就來(lái)探討一下在做數(shù)據(jù)庫(kù)遷移、搭建ADG時(shí)什么才是真正的Oracle源環(huán)境與目標(biāo)環(huán)境保持一致。

源環(huán)境與目標(biāo)環(huán)境保持一致

1. 檢查是否都啟用LOCAL UNDO

查看數(shù)據(jù)庫(kù)是否開(kāi)啟 local undo ,如果 PROPERTY_VALUE 為 true 表示已經(jīng)開(kāi)啟。只推薦源、目標(biāo)庫(kù)都使用LOCAL UNDO,在遷移PDB前都轉(zhuǎn)換為L(zhǎng)OCAL UNDO后再進(jìn)行遷移。
alter session set container=PDB_NAME;
col PROPERTY_NAME for a25;
col PROPERTY_VALUE for a25;
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name=LOCAL_UNDO_ENABLED;

2. 檢查源、目標(biāo)CDB的組件是否一致

源CDB的組件數(shù)量與目標(biāo)CDB的組件一致或少,特別是要注意OJVM組件與RAC組件。
OJVM組件需要源、目標(biāo)CDB都安裝或都不安裝。
RAC組件由RAC遷移到單機(jī)時(shí),在pdb執(zhí)行如下命令關(guān)閉RAC組件。
exec dbms_registry.OPTION_OFF(RAC);
column comp_id format a20
column comp_name format a30
column version format a20
column status format a15
set pagesize 500
set linesize 150
SELECT COMP_ID,SUBSTR(comp_name, 1, 30) comp_name, SUBSTR(version, 1, 20) version, status
 FROM dba_registry
ORDER BY comp_name;

set linesize 170
set pagesize 5000
col con_id for 99
col con_name for a10
col comp_id for a15
col comp_name for a40
col status for a10
col version for a15;
SELECT a.con_id,
      decode(a.con_id, 1, cdb$root, b.name) AS con_name,
      comp_id,
      comp_name,
      status,
      version
 FROM cdb_registry a, v$pdbs b
WHERE a.con_id = b.con_id(+)
ORDER BY 1, 3;

3. 補(bǔ)丁更新的當(dāng)前版本與補(bǔ)丁更新路徑是否一致

1)請(qǐng)盡量保持PDB遷移的源、目標(biāo)CDB的補(bǔ)丁版本一致。
2)如遇到補(bǔ)丁更新的當(dāng)前版本一致,但補(bǔ)丁更新的路徑不一致,比如:當(dāng)前源、目標(biāo)CDB的當(dāng)前補(bǔ)丁版本均為19.10,但源CDB的補(bǔ)丁升級(jí)路徑為19.3-->19.4-->19.10。而目標(biāo)CDB的補(bǔ)丁升級(jí)路徑為19.3-->19.10,此時(shí)源、目標(biāo)CDB的補(bǔ)丁更新路徑為不一致。
當(dāng)然只是PDB遷移,此時(shí)補(bǔ)丁更新的路徑不一致并不影響。補(bǔ)丁更新的路徑不一致影響的是目標(biāo)CDB再次進(jìn)行補(bǔ)丁更新的datapatch -verbose。此時(shí)會(huì)遇到如下報(bào)錯(cuò):
Error reading descriptor from registry: Couldnt open encmap gbk.enc:
No such file or directory
at /u01/app/oracle/product/19.0.0/dbhome_1/perl/lib/site_perl/5.28.1/x86_64-linux-thread-multi/XML/Parser.pm line 187.
XML::Simple called at /u01/app/oracle/product/19.0.0/dbhome_1/sqlpatch/sqlpatch.pm line 7780.
解決方案:從源CDB的db ORACLE_HOME/sqlpatch目錄下拷貝一份與目標(biāo)CDB不一樣的補(bǔ)丁號(hào)文件夾至目標(biāo)CDB的每個(gè)節(jié)點(diǎn)相同目錄下。
set line 200
col action_time for a40
col status for a20
col description for a100
select patch_id,patch_type,action,status,action_time,description from dba_registry_sqlpatch;

4. oracle軟件版本是否一致

目標(biāo)CDB的軟件版本要比源CDB的軟件高或一致。

5. 源、目標(biāo)CDB所在的操作系統(tǒng)endianness是否一致

源、目標(biāo)CDB:
set line 300
set pagesize 100
COL PLATFORM_NAME FOR a40
COL ENDIAN_FORMAT for a14
SELECT PLATFORM_ID, PLATFORM_NAME, ENDIAN_FORMAT
 FROM V$TRANSPORTABLE_PLATFORM
 3    ORDER BY PLATFORM_ID;

PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT

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

 1 Solaris[tm] OE (32-bit) Big
 2 Solaris[tm] OE (64-bit) Big
 3 HP-UX (64-bit) Big
 4 HP-UX IA (64-bit) Big
 5 HP Tru64 UNIX Little
 6 AIX-Based Systems (64-bit) Big
 7 Microsoft Windows IA (32-bit) Little
 8 Microsoft Windows IA (64-bit) Little
 9 IBM zSeries Based Linux Big
10 Linux IA (32-bit) Little
11 Linux IA (64-bit) Little
12 Microsoft Windows x86 64-bit Little
13 Linux x86 64-bit Little
15 HP Open VMS Little
16 Apple Mac OS Big
17 Solaris Operating System (x86) Little
18 IBM Power Based Linux Big
19 HP IA Open VMS Little
20 Solaris Operating System (x86-64) Little
21 Apple Mac OS (x86-64) Little
22 Linux OS (S64) Big

21 rows selected.

6. 源、目標(biāo)CDB庫(kù)的數(shù)據(jù)庫(kù)字符集、國(guó)家字符集是否一致

特別要注意NLS_NCHAR_CHARACTERSETNLS_CHARACTERSET這兩個(gè)參數(shù)。

  • NLS_CHARACTERSET這個(gè)參數(shù),目標(biāo)CDB的值應(yīng)該與源CDB一致,或是源CDB的超集。
  • NLS_NCHAR_CHARACTERSET這個(gè)參數(shù),目標(biāo)CDB的值應(yīng)該與源CDB保持一致。
set linesize 300 pagesize 100
col parameter for a40
col value for a50
select * from nls_database_parameters;

7. 源、目標(biāo)CDB的db_block_size 參數(shù)是否一致

1)克隆PDB時(shí),注意檢查源、目標(biāo)CDB庫(kù)的db_block_size是否一致。
2)注意檢查源PDB的表空間是否有與db_block_size不一致的情況。
解決方案:克隆時(shí)設(shè)置涉及block size相關(guān)的參數(shù)。比如:
alter system set DB_16k_CACHE_SIZE=100M scope=both;

8. 其它方面

SGA_TARGET
CPU_COUNT
PGA_AGGREGATE_TARGET
PGA_AGGREGATE_LIMIT
SESSIONS
JOB_QUEUE_PROCESSES
還有操作系統(tǒng)的內(nèi)核參數(shù)和資源限制等等也要保持一致。


本文作者:聶文峰(上海新炬王翦團(tuán)隊(duì))

本文來(lái)源:“IT那活兒”公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129190.html

相關(guān)文章

  • 凌晨1點(diǎn)突發(fā)致命生產(chǎn)事故,人工多線程來(lái)破局!

    摘要:留下幾個(gè)人監(jiān)控?cái)?shù)據(jù),其他人就散了,等遷移完成后再進(jìn)行后續(xù)工作。突發(fā)事故凌晨的夜晚比較困,當(dāng)我點(diǎn)起第三根煙的時(shí)候,負(fù)責(zé)遷移的這位程序員,急匆匆的跑過(guò)來(lái)找我了。這個(gè)事可大了如果在上午之前不搞定這個(gè)事情,那就完全是重大事故了。 有一個(gè)讀者問(wèn)我:你認(rèn)為一個(gè)程序員具備什么樣的能力,才算得上是厲害的程序員? 我答:擁有解決問(wèn)題的能力的程序員。 這個(gè)回答貌似有點(diǎn)抽象,不要緊看下面的文章你會(huì)慢慢有所了...

    dendoink 評(píng)論0 收藏0
  • 什么是最好云策略?

    摘要:在公司的調(diào)查中,大約的組織如今使用私有云和公共云來(lái)承擔(dān)相同的工作量,另有的受訪者表示他們使用一種類型的云計(jì)算進(jìn)行生產(chǎn),而采用另一種類型進(jìn)行測(cè)試開(kāi)發(fā)備份或分析,這也被認(rèn)為是一種混合云策略。混合云的定義根據(jù)企業(yè)的要求而有所不同,但它總是涉及使用私有云和公共云,而企業(yè)需要一種策略。如果讓一些IT領(lǐng)導(dǎo)人定義混合云是什么,他們的答案可能會(huì)多樣化,并將會(huì)在混合云定義中描述公共云和企業(yè)數(shù)據(jù)中心中混合應(yīng)用程...

    big_cat 評(píng)論0 收藏0
  • 跨云遷移過(guò)程中數(shù)據(jù)同步及一致性校驗(yàn)實(shí)踐(一)

    摘要:通過(guò)對(duì)一些客戶的跨云遷移過(guò)程進(jìn)行總結(jié),發(fā)現(xiàn)普遍存在的挑戰(zhàn)有三點(diǎn)數(shù)據(jù)完整性和一致性挑戰(zhàn)。簡(jiǎn)而言之,跨云遷移過(guò)程中的數(shù)據(jù)一致性主要就集中在存量數(shù)據(jù)的遷移如何保證一致。前言隨著互聯(lián)網(wǎng)業(yè)務(wù)發(fā)展對(duì)容災(zāi)以及對(duì)訪問(wèn)加速、多供應(yīng)商成本控制等需求的產(chǎn)生,互聯(lián)網(wǎng)公司的多云部署和跨云遷移逐漸成為剛需,而在此過(guò)程中,最困擾運(yùn)維和研發(fā)人員的就是數(shù)據(jù)的遷移和同步。俗語(yǔ)說(shuō) 上屋搬下屋,搬灑一籮谷 ,在業(yè)務(wù)的遷移過(guò)程中一旦...

    Tecode 評(píng)論0 收藏0
  • Oracle APEX 系列文章6:Oracle APEX 到底適不適合企業(yè)環(huán)境?

    摘要:很多人對(duì)是否真的適合企業(yè)環(huán)境還心存顧慮,所以我覺(jué)得有必要做個(gè)解釋。架構(gòu)或技術(shù)本身并沒(méi)有絕對(duì)的好壞之分,只有適不適合。沒(méi)有一個(gè)企業(yè)或應(yīng)用系統(tǒng)可以完美地解決所有的業(yè)務(wù)需要。 showImg(https://segmentfault.com/img/remote/1460000014841889?w=2269&h=1500); 本文是鋼哥的Oracle APEX系列文章中的第六篇,完整 Or...

    Cruise_Chan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<