暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

XTTS实施前的检查项

  • 适用范围
  • 方案概述
  • 实施步骤
  • 参考文档

适用范围

11g,12c,19c 使用xtts技术进行迁移实施前的检查。

方案概述

XTTS (Cross Platform Transportable Tablespaces) 跨平台迁移表空间,是 Oracle 自10g 推出的一个用来移动单个表空间数据以及创建一个完整的数据库从一个平台移动到另一个平台的迁移备份方法。本文通过总结XTTS技术实施前的各项检查确保迁移顺利实施。

实施步骤

1、检查数据库补丁

oracle$ cd $ORACLE_HOME/OPatch [oracle]$ ./opatch lspatches SQL> col action_time for a32 SQL> col action for a10 SQL> col namespace for a10 SQL> col version for a10 SQL> col BUNDLE_SERIES for a10 SQL> col comments for a30 SQL> select * from dba_registry_history;

2、组件检查
确保源和目标组件一致,组件状态正常

SQL> SET lines 90 NUMWIDTH 12 PAGES 10000 LONG 2000000000 SQL> ALTER SESSION SET nls_date_format='YYYY-MM-DD HH24:MI:SS'; SQL> COL version FORMAT a12 SQL> COL comp_id FORMAT a8 SQL> COL schema LIKE version SQL> COL comp_name FORMAT a35 SQL> COL status FORMAT a12 SQL> SELECT comp_id,schema,status,version,comp_name FROM dba_registry ORDER BY 1;

3、检查数据库归档模式
源和目标段均要开启归档模式

SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /arch Oldest online log sequence 198426 Next log sequence to archive 0 Current log sequence 198429

4、检查数据库时区
源和目标段时区要一致

源端 SQL> select dbtimezone from dual; DBTIME ------ +00:00 目标端 SQL> select dbtimezone from dual; DBTIME ------ +00:00

5、检查数据库字符集
源端和目标端字符集要一致

源端字符集 SQL> select * from nls_database_parameters; PARAMETER VALUE ------------------------------ -------------------------------------------------------------------------------- NLS_CALENDAR GREGORIAN NLS_CHARACTERSET ZHS16GBK NLS_COMP BINARY NLS_CURRENCY $ NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE AMERICAN NLS_DUAL_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_LANGUAGE AMERICAN NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CHARACTERSET UTF8 NLS_NCHAR_CONV_EXCP FALSE NLS_NUMERIC_CHARACTERS ., NLS_RDBMS_VERSION 11.2.0.4.0 NLS_SORT BINARY NLS_TERRITORY AMERICA NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR 目标端字符集 SQL> select * from nls_database_parameters; NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET ZHS16GBK NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_RDBMS_VERSION 11.2.0.4.0 20 rows selected.

6、检查 COMPATIBLE
检查源端compatible参数是否大于11.1.0,并且不大于等于目标端。

源端 NAME TYPE VALUE ------------------------------------ ----------- ------------------------ compatible string 11.2.0.4.0 目标端 SQL> Show parameter COMPATIBLE NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ compatible string 19.0

7、db_file参数值检查
目标端此参数值至少应大于等于源端;否则请修改至和源端相同值

-源端 SQL>show parameter db_files NAME TYPE VALUE --------------- db_files integer 200 -目标 show parameter db_files NAME TYPE VALUE ----------------- db_files integer 2000 #如果目标端此值少于源端,则进行下面命令修改 SQL>alter system set db_files=1000 scope=spfile sid='*'; SQL>shutdown immediate SQL>startup SQL>show parameter db_files
8、目标端废弃参数检查
如果目标端数据库存在使用被废弃的参数时,在目标库进行恢复操作时,会出现如下报错:
    ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
    Error:
    Error in executing xttstartupnomount.sq
    #workaround
    remote_os_authent has been deprecated
    ORA-32006: BACKGROUND_DUMP_DEST initialization parameter has been deprecated
    ORA-32006: SEC_CASE_SENSITIVE_LOGON initialization parameter has been deprecated
    ORA-32006: USER_DUMP_DEST initialization parameter has been deprecatedError in executing xttstartupnomount.sql
    因此需要在目标库检查alert日志启动信息,是否有类似如下警告信息:
    WARNING: THE SEC_CASE_SENSITIVE_LOGON initialization parameter has been deprecated
    如果有请将其从SPFILE参数文件中除去。
    注意下面参数但不限于下面参数,则请在参数文件中除去
    remote_os_authent
    BACKGROUND_DUMP_DEST 
    SEC_CASE_SENSITIVE_LOGON 
    USER_DUMP_DEST
 

9、检查回收站
清空并关闭回收站功能,待迁移完成后开启回收站功能

SQL> select count(*) from dba_recyclebin; SQL> purge dba_recyclebin; DBA Recyclebin purged. SQL> show parameter recyclebin NAME TYPE VALUE recyclebin string on SQL> alter system set recyclebin='off' scope=spfile; System altered.

10、检查源端DG同步状态
说明:如果实施的环境是DG环境,需要检查DG状态

SQL>set pagesize 10000; SQL>col name for a40; SQL>set linesize 130; SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; SQL>select NAME,THREAD#,SEQUENCE#,REGISTRAR,applied,completion_time from v$archived_log where name is not null and completion_time>sysdate-1

11、检查无效对象

SQL>select owner, object_name, object_type from dba_objects where status !='VALID' order by owner, object_type, object_name; 12、检查无效索引 SQL>select owner, index_name, status from dba_indexes where status='UNUSABLE' order by 1,2; SQL>select i.owner, i.index_name, p.partition_name, p.status from dba_ind_partitions p,dba_indexes i where p.index_name=i.index_name and p.status='UNUSABLE' order by 1,2,3; SQL>select i.owner,i.index_name,s.subpartition_name,s.status from dba_ind_subpartitions s,dba_indexes i where s.index_name=i.index_name and s.status='UNUSABLE' order by 1,2,3;

13、compatible Advanced Queues检查

SQL>select owner,queue_table,recipients,compatible from dba_queue_tables where recipients='MULTIPLE' and compatible like '%8.0%';

14、基于XMLSchema的XMLType对象检查

SQL>SELECT distinct OWNER FROM DBA_XML_SCHEMAS; SQL>select distinct p.tablespace_name from dba_tablespaces p, dba_xml_tables x, dba_users u, all_all_tables t where t.table_name=x.table_name and t.tablespace_name=p.tablespace_name and x.owner=u.username;

15、SPATIAL空间组件对象检查

SQL>select owner,index_name from dba_indexes where ityp_name = 'SPATIAL_INDEX'; SQL>select owner, table_name, column_name from dba_tab_columns where data_type = 'SDO_GEOMETRY' and owner != 'MDSYS' order by 1,2,3;

16、外部表检查

SQL>select distinct owner from DBA_EXTERNAL_TABLES;

17、IOT表检查

SQL>select distinct owner from dba_tables where IOT_TYPE is not null;

18、检查临时表

SQL>SELECT owner,table_name FROM DBA_TABLES WHERE TEMPORARY='Y' AND OWNER IN(需要迁移用户列表);

19、物化视图检查

SQL>select owner,count(*) from dba_mviews group by owner;

20、检查是否存在应用户使用TSTZ 字段

select c.owner || '.' || c.table_name || '(' || c.column_name || ') -' || c.data_type || ' ' col from dba_tab_cols c, dba_objects o where c.data_type like '%WITH TIME ZONE' and c.owner=o.owner and c.table_name = o.object_name and o.object_type = 'TABLE' order by col;

21、检查表空间是否加密

SQL>select tablespace_name,ENCRYPTED from dba_tablespaces;

22、检查是否存在加密字段

SQL>select * from DBA_ENCRYPTED_COLUMNS;

23、检查Opaque Types类型字段

SQL>select distinct owner ,DATA_TYPE from dba_tab_columns where owner in (需要迁移用户列表);

24、检查表空间和数据文件状态

SQL>select tablespace_name,status from dba_tablespaces; select STATUS,ONLINE_STATUS,count(*) from dba_data_files group by STATUS,ONLINE_STATUS;

25、检查数据文件头信息

SQL>select STATUS,ERROR,TABLESPACE_NAME from V$DATAFILE_HEADER;

26、检查用户profile
比对新旧环境profile是否一致,提前创建目标端到源端的DBLIK XTTS_DBLINK

SQL>select distinct(t.pro) from (select s.profile pro, l.profile pro2 from dba_profiles@XTTS_DBLINK s, dba_profiles l where s.profile = l.profile(+)) t where t.pro2 is null order by t.pro;

-the end-

最后修改时间:2024-11-12 09:52:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论