0
点赞
收藏
分享

微信扫一扫

大库迁移,#2,导入

 

1.查看存在的job 可忽略(如果有需要和应用确认停止job)

"

SELECT * FROM DBA_DATAPUMP_JOBS;  
select * from dba_jobs;

select sid from dba_jobs_running; 正在运行的job

--EXEC DBMS_JOB.BROKEN(job#,TRUE); 停止job  
--exec dbms_job.run(103); 启动job

"

2.查看回收站大小及回收站内的对象(和应用确认是否可清理)

"

SHOW PARAMETER RECYCLEBIN;

SELECT count(*) FROM DBA_RECYCLEBIN;

select sum(SPACE)*8/1024/1024 G from dba_recyclebin;

select object_name,object_type, status ,count(*) from dba_objects where owner  not in  ('username')  and object_name like 'BIN%' group by object_name,object_type ,status order by 2 desc;

"

3.根据源表空间数据大小创建目标库数据表空间 "一、小文件表空间(小文件表空间,一个文件的最大大小为32G,blocksize决定)

1、创建数据表空间



create tablespace   XXX      datafile '+DATA'        size 30G autoextend on next 500m uniform  size 1m;



添加数据文件:


alter tablespace XXX add datafile '+DATA' size 30G autoextend on next 500m;


alter tablespace USERS add datafile '+DATA' size 30G autoextend on next 500m;


"

4."扩容temp表空间

(由于导数消耗临时表空间,尽可能给较大的temp空间(添加自动扩展临时文件),后面重建进行回收)" "扩容临时表空间


ALTER TABLESPACE TEMP ADD TEMPFILE  '+DATA '  size  1G autoextend on;

"

5.修改undo_retention  提前确认

6."清理回收站(应用确认是否需要清理)可忽略

" "

SHOW PARAMETER RECYCLEBIN;

SELECT count(*) FROM DBA_RECYCLEBIN;

select sum(SPACE)*8/1024/1024 G from dba_recyclebin;

 purge dba_recyclebin;

"


7.创建数据泵备份目录 "

mkdir /backup/dmp

chown oracle:oinstall /backup/dmp

sqlplus / as sysdba

create directory DMP as '/backup/dmp/';

grant read, write on directory DMP to PUBLIC;

"

创建数据泵恢复目录 同上

数据泵导出元数据 "1、在目标库创建dblink指向源端ADG备库

CREATE PUBLIC DATABASE LINK ""TO_XXX""  CONNECT TO  system  IDENTIFIED BY  ""******""   USING '

(DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.XXX.xx.xxx)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = XXX)

    )

  )';

8.、导出元数据排除序列,排除序列,注意序列单独导(本次方案只导表结构并修改分区表结构,第三方数据同步)


expdp system/******* network_link=TO_XXX dumpfile=20220919.dmp directory=dmp logfile=20220919.log schemas=username content=METADATA_ONLY  exclude=sequence


"

目标端导入元数据 "

impdp system/******* directory=DMP dumpfile=20230609.dmp logfile=20230609_imp.log remap_tablespace=xx:xx,xxx:xxx


修改表指定空间,已废弃


alter table AFC_PRPLCONTENT  move tablespace XXX_CCONT;

alter table AFB_PRPLBPMMAIN move tablespace XXX_BPM;


alter table AFD_PRPCITEMKIND tablespace XXX_DKIND;


"

9.查看目标端外键状态 "查看外键状态

col owner for a30

col CONSTRAINT_NAME for a40

col TABLE_NAME for a30

col COLUMN_NAME for a20

set linesize 400 pagesize 400

select  a.owner,a.CONSTRAINT_NAME,a.CONSTRAINT_TYPE,a.TABLE_NAME,a.status,b.column_name from dba_constraints a,dba_cons_columns b where a.owner=b.owner and a.CONSTRAINT_NAME=b.CONSTRAINT_NAME and a.table_name=b.table_name and a.owner in ('username') and a.CONSTRAINT_TYPE='R';

"

目标端外键disable

select 'alter table '||owner||'.'||table_name||' disable constraint '|| CONSTRAINT_NAME||';' from dba_constraints where CONSTRAINT_TYPE='R' and owner in ('username');

"开启库级别的唯一键补充日志和无主键表级别的全列日志

(需提前起变更操作)" "

"

alter database add supplemental log data(unique) columns;  

select 'alter table '||owner||'.'||table_name||' add supplemental log data(all) columns;' from  
dba_tables a

     where not exists (select *

          from user_constraints b

         where b.constraint_type = 'P'

           and a.table_name = b.table_name)

and owner in ('username');

举报

相关推荐

0 条评论