点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
故障背景
Error reading descriptor from registry: Couldn't 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.
那我们今天就来探讨一下在做数据库迁移、搭建ADG时什么才是真正的Oracle源环境与目标环境保持一致。
源环境与目标环境保持一致
1. 检查是否都启用LOCAL UNDO
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. 检查源、目标CDB的组件是否一致
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. 补丁更新的当前版本与补丁更新路径是否一致
Error reading descriptor from registry: Couldn't 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.
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软件版本是否一致
5. 源、目标CDB所在的操作系统endianness是否一致
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. 源、目标CDB库的数据库字符集、国家字符集是否一致
特别要注意NLS_NCHAR_CHARACTERSET和NLS_CHARACTERSET这两个参数。
NLS_CHARACTERSET这个参数,目标CDB的值应该与源CDB一致,或是源CDB的超集。 NLS_NCHAR_CHARACTERSET这个参数,目标CDB的值应该与源CDB保持一致。
set linesize 300 pagesize 100
col parameter for a40
col value for a50
select * from nls_database_parameters;
7. 源、目标CDB的db_block_size 参数是否一致
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

本文作者:聂文峰(上海新炬王翦团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




