系统和数据迁移方案
1.1 TCIS数据库生产环境
➢ expdp时排除package,function,procedure 。否则在换环境部署时,会因为过程或函数中存在dblink(长时间编译),导致会等待 single-task message 事件。建议,过程,函数,过程导成sql
➢ 列出老系统所有资料表,确定哪些需要导换;
➢ 列出集团客户统一数据库所有资料表,确定TCIS系统的数据来源表;
➢ 列出集团客户统一数据库资料对应表,TCIS系统需要导入集团客户统一数据库的资料;
➢ 字段级准备工作即在表对应工作基础上将相关字段做对应工作,应和xxxx方、研发人员仔细认真确认每一个字段的导换规则 1.2 创建表空间 先部署表空间 相关SQL
select a.file_name, a.tablespace_name, a.bytes/1024/1024, a.autoextensible, a.maxbytes
from dba_data_files a where a.file_name like '%data_16%'
order by a.file_name;
select * from dba_tablespaces a where a.tablespace_name like 'TBS%';
select * from dba_tablespaces; select * from dba_data_files; select * from dba_temp_files;
建新的表空间
CREATE TABLESPACE TBS_CRM_DEF DATAFILE '/dev/vx/rdsk/dgjf12/data_16g_0705' SIZE 16382M LOGGING ONLINE PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;
加数据文件 alter
tablespace
TBS_CRM_DUSR3
add
datafile
'/dev/vx/rdsk/dgjf12/data_16g_0705' size 16382M autoextend off; 1.3 用户
建database link
create database link DBL_TO_crm630 connect to XXXXX identified by XXXXXX using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 133.224.202.160)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = crm630) ) )'; 建目录
create directory EXPDP_MAOL as '/databak/maolong'; 建用户 crm sta 生产库 crmdb 生产目EXPDP_MAOL 录 生产路/databak/maol径 ong 测试库 crm630 测试目D0630_CRM 录 sta630 D0630_STA 测试路/oradata_test径
/0630/crm /oradata_test/0630/sta export ORACLE_SID=crm630 expdp
system/manager
DIRECTORY=D0630_CRM
DUMPFILE=UBAK_0806.dump EXCLUDE=statistics SCHEMAS=UBAK parallel=8 CONTENT=METADATA_ONLY LOGFILE=UBAK_0806.log; impdp
linshi/lc_12345
DIRECTORY=EXPDP_MAOL
parallel=8
DUMPFILE=UBAK_0806.dump SCHEMAS=UBAK
CONTENT=METADATA_ONLY LOGFILE=UBAK_0806.log;
CREATE USER UBAK IDENTIFIED BY \"123456\" DEFAULT TABLESPACE \"TBS_CRM_DEF\" TEMPORARY TABLESPACE \"TEMP\";
grep \"ORA-00959\" CRM_0808.log |sort –u
--生成密码
SELECT SUBSTR('abxcdkefghyijklcmniopwqrstuavwxybzyxas', ROUND(DBMS_RANDOM.VALUE(1, 26)), 1) ||
SUBSTR('AbX_cDkE-FgHyI#jKlC_mNiOpW$qRsTuAv+WxYbZ_yXaS', ROUND(DBMS_RANDOM.VALUE(1,
26)),
5) || SUBSTR('0712534968079351284302', ROUND(DBMS_RANDOM.VALUE(1, 20)), 2) from dual;
1.4 数据迁移具体流程
➢ 1. 准备割接环境:新建割接相关ORA数据库用户及用户权限。 ➢ 2. 建立配置数据:准备与割接相关的配置数据。 ➢ 3. 将数据导入到中间环境
➢ 4. 中间环境数据检查,如发现错误数据则记录并修正,形成检查报吿。
➢ 5. 生成执行转换脚本需要中间表,执行目标环境清理资料表索引以及主键的脚本。
➢ 6. 执行数据转换脚本,将数据生成到目标环境。 ➢ 7. 执行数据验证,生成新老系统数据迁移核对报告。 ➢ 8.创建资料表索引,主键、外键。
➢ 9. 目标环境数据分类统计,并形成检查报表。