导库脚本

########52(导出库)##########
1、root用户,切换oracle进入52,进入目录,/u01/dbbackup,删除gd_base.dmp和对应日志;           #/u01/dbbackup为泵目录,可通过SQL(select * from dba_directories)查询         
2、切换到oracle用户,执行以下命令分别导出gd_base和gd_dbwizard
expdp gd_base/123456@12.18.1.52:1521/oanet DIRECTORY=DUMP_DIR DUMPFILE=gd_base.dmp LOGFILE=gd_base.log SCHEMAS=gd_base

3、把dmp文件复制到249(oracle密码123456)
scp -r /u01/dbbackup/gd_base.dmp oracle@12.16.1.249:/u01/oracledata

########249(导入库)#########
1、249使用sys登录plsql,右键删除2个用户对象,
0

如提示对象有链接,则使用下面的语句清除链接后再次删除;查询出来后,复制查询结果后,新开一个sql窗口执行;
DECLARE
   u_sid  varchar2(50);
   u_serialnumber varchar2(50);
   u_name varchar2(50);
   CURSOR c1 IS select trim(s.sid),trim(s.serial#)
                          from v$session s,v$process p
                          where s.paddr = p.addr  and (s.username=u_name); 
BEGIN
   ----- 替换用户名,必须大写
    u_name:='GD_BASE';
   OPEN c1; 
   LOOP
      FETCH c1 INTO u_sid,u_serialnumber;
      EXIT WHEN c1%NOTFOUND;
      EXECUTE IMMEDIATE 'alter system kill session '||''''||trim(u_sid)||','||trim(u_serialnumber)||'''';
   END LOOP;
END;
/
 ----- 替换用户名,必须大写
drop user GD_BASE cascade;

2、重新新建用户对象并授权
create user gd_base identified by "123456" default tablespace WORKFLOW01;
grant dba to gd_base ; 

3、oracle用户登录249服务器,使用以下语句分别导入库
impdp gd_base/123456@12.16.1.249/oanet DIRECTORY=DUMP_DIR DUMPFILE=gd_base.dmp LOGFILE=gd_base.log SCHEMAS=gd_base

同时导入多个库的脚本:impdp oracle/oracle@192.168.0.502:1521/oanet DIRECTORY=DUMP_DIR DUMPFILE=502_20200813.dmp LOGFILE=502_20200817daoru.log SCHEMAS=gd_base,gd_dbwizard,dbcenter

 

posted @ 2020-04-17 15:14  Deng0727  阅读(275)  评论(0编辑  收藏  举报