目录
4、创建移植辅助表,统计指定用户下所有的对象并插入到辅助表中
一、统计ORACLE数据库基础信息
1、统计页大小
select name,value from v$parameter where name ='db_block_size';
NAME VALUE
-------------------------------- --------------------------------
db_block_size 8192
2、查询编码格式
select * from v$nls_parameters a where a.PARAMETER='NLS_CHARACTERSET';
PARAMETER VALUE
-------------------------------------
NLS_CHARACTERSET WE8MSWIN1252
3、根据指定用户统计用户下的各对象类型和数目
SYS@orcl> select owner,object_type,count(*) from dba_objects where owner not in ('SYS','SYSTEM','DBSNMP','WMSYS','EXFSYS','XDB','ORDSYS','SYSMAN','APEX_030200','CTXSYS','MDSYS','OLAPSYS','APPQOSSYS','OWBSYS','OWBSYS_AUDIT','FLOWS_FILES','PUBLIC','SI_INFORMTN_SCHEMA','ORDPLUGINS') group by owner,object_type order by 1;
OWNER OBJECT_TYPE COUNT(*)
--------------- -------------------------------- ----------
OGG FUNCTION 6
OGG INDEX 18
OGG LOB 1
OGG PACKAGE 3
OGG PACKAGE BODY 2
OGG PROCEDURE 4
OGG SEQUENCE 2
OGG TABLE 14
ORACLE_OCM JOB 2
ORACLE_OCM PACKAGE 3
ORACLE_OCM PACKAGE BODY 3
ORDDATA INDEX 138
ORDDATA LOB 9
ORDDATA SEQUENCE 12
ORDDATA TABLE 73
ORDDATA VIEW 25
OUTLN INDEX 5
OUTLN LOB 1
OUTLN PROCEDURE 1
OUTLN TABLE 3
ZXR TABLE 3
21 rows selected.
4、创建移植辅助表,统计指定用户下所有的对象并插入到辅助表中
SYS@orcl> create table zxr.oracle_objects(obj_owner varchar(100), obj_name varchar(100),obj_type varchar(50));
Table created.
SYS@orcl> insert into zxr.oracle_objects select owner,object_name,object_type from dba_objects;
86399 rows created.
SYS@orcl> commit;
Commit complete.
二、准备DM环境
1、数据库版本
SQL> select id_code;
行号 ID_CODE
---------- ------------------------------------------
1 --03134283890-20220720-165295-10045 Pack11
已用时间: 0.147(毫秒). 执行号:501.
SQL> select * from v$version;
行号 BANNER
---------- ---------------------------------
1 DM Database Server 64 V8
2 DB Version: 0x7000c
3 03134283890-20220720-165295-10045
已用时间: 110.033(毫秒). 执行号:502.
2、查询编码格式
SQL> select sf_get_unicode_flag();
行号 SF_GET_UNICODE_FLAG()
---------- ---------------------
1 0
已用时间: 803.435(毫秒). 执行号:504.
SQL> select unicode();
行号 UNICODE()
---------- -----------
1 0
已用时间: 0.660(毫秒). 执行号:505.
三、常规对象及数据迁移
oracle-dm迁移常见问题见下列链接:
1、开启ORACLE兼容参数
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);
或
ALTER SYSTEM SET 'COMPATIBLE_MODE'=2 SPFILE;
2、创建表空间和用户
SYS@orcl> select username,default_tablespace from dba_users where username in ('OGG','ORACLE_OCM','ORDDATA','OUTLN','ZXR');
USERNAME DEFAULT_TABLESPACE
---------------------------------------------------------------------
OGG OGGDATA
ZXR USERS
ORDDATA SYSAUX
ORACLE_OCM USERS
OUTLN SYSTEM
DM端:
SQL> create tablespace "OGGDATA" datafile 'OGGDATA.DBF' size 320 autoextend on next 10 MAXSIZE 10240;
操作已执行
已用时间: 00:00:01.053. 执行号:506.
SQL> create tablespace "USERS" datafile 'USERS.DBF' size 320 autoextend on next 10 MAXSIZE 10240;
操作已执行
已用时间: 26.740(毫秒). 执行号:507.
3、启动DTS工具
4、迁移表定义
5、迁移表数据
6、迁移其他对象
7、查看迁移失败对象错误信息
Oracle端:
查询对象权限:
DM端:
SQL> grant dba to ogg;
操作已执行
已用时间: 96.235(毫秒). 执行号:512.
SQL> grant resource to ogg;
操作已执行
已用时间: 5.332(毫秒). 执行号:513.
重新执行迁移
四、更新统计信息
迁移完整的库建议按照库模式更新统计信息,凡是涉及到迁移数据的及时进行更新统计信息的操作。
方法一:执行sql
DBMS_STATS.GATHER_SCHEMA_STATS('username',1.0,TRUE,'FOR ALL INDEXED SIZE AUTO');
DBMS_STATS.GATHER_SCHEMA_STATS('username',30,TRUE,'FOR ALL COLUMNS SIZE AUTO');
方法二:登录管理工具
1、库模式更新:
2、表模式更新
3、列模式更新
4、索引更新
五、数据比对
1、新建比对
2、查看对比报告
3、错误分析
在数据同步转换的过程中数据类型自动转换
DATA-->TIMESTAMP,可忽略
PACKAGE BODY类型在DM端需要手动创建。
注:个别对象处理需要手动在DM端进行创建或者进行修改数据类型,不是所有对象都可以迁移过去。
达梦云适配技术社区
https://eco.dameng.com/