zoukankan      html  css  js  c++  java
  • IMPDMP迁移个小系统

    使用场景:小系统,直接EXPDP/IMPDP迁移,测试阶段完成,重新数据恢复。
    1、查看当前会话,主要针对ACTIVE,INACTIVE一般可忽略
    PRIMARY-SYS@testdb>SELECT INST_ID,USERNAME,STATUS,COUNT(*) FROM GV$SESSION GROUP BY INST_ID,USERNAME,STATUS ORDER BY 3;
    INST_ID USERNAME STATUS COUNT(*)
    ---------- ------------------------------ ------------------------ ----------
    1 SYS ACTIVE 1
    1 ACTIVE 33
    1 test1 INACTIVE 3
    1 test2 INACTIVE 4
    8 rows selected.

    2、上面查询之后,如果没有业务用户在活动用下面的SQL生成kill语句执行。或者直接关闭DB
    set line 500
    set pagesize 500
    col USERNAME for a15
    col sqla for a50
    SELECT INST_ID,sid,serial# , USERNAME,STATUS, 'alter system kill session '''||sid||','||SERIAL#||''';' sqla FROM GV$SESSION where USERNAME like '%' ORDER BY STATUS,USERNAME;

    3、查询当前使用的业务用户(其中SYS和SYSTEM为系统用户)及对应表空间,表空间没有的话需要手工创建,IMPDP不会自动创建表空间
    COL USERNAME FOR A30
    COL DEFAULT_TABLESPACE FOR A20
    COL ACCOUNT_STATUS FOR A20
    SET PAGESIZE 100
    SELECT USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN' ORDER BY 1 ASC;
    --手工创建表空间
    CREATE TABLESPACE IDX_SYNCTXN DATAFILE '/data/oradata/testdb/idx_synctxn.dbf' SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE 30720M;

    PRIMARY-SYS@testdb>SELECT USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN' ORDER BY 1 ASC;
    USERNAME ACCOUNT_STATUS DEFAULT_TABLESPACE
    ------------------------------ -------------------- --------------------
    test1 OPEN DAT_test1
    test2 OPEN DAT_test2
    --SYS OPEN SYSTEM
    --SYSTEM OPEN SYSTEM
    18 rows selected.

    4、删除测试用户数据
    DROP USER test1 CASCADE;
    DROP USER test2 CASCADE;

    5、重新IMPDP
    需要知道导入用户system密码、创建dmp文件目录、对文件授权
    alter user system identified by qwer1234;
    create or replace directory dump_dir as '/home/oracle/dump_dir';
    grant read,write on directory dump_dir to system;

    --导出
    --expdp system/qwer1234 directory=dump_dir schemas=test1,test2 dumpfile=expdp_test_2user_0618.dmp logfile=expdp_test_2user_0618.log
    --导入
    nohup impdp system/qwer1234 directory=dump_dir schemas=test1,test2 dumpfile=expdp_test_2user_0618.dmp logfile=expdp_test_2user_0618_imp.log transform=oid:n &
    查看日志
    tail -f nohup.out
    这个参数默认是Y,如果改成N,那么导入的时候会把各个对象重新赋予新的OID。
    transform=oid:n

  • 相关阅读:
    Tomcat下使用war包发布项目
    shell编程报错:“syntax error near unexpected token `”
    undo表空间不足,ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS2'
    HTML快速入门
    HTTP协议快速入门
    Java Web应用的开发模式
    使用Jekyll搭建免费的Github Pages个人博客
    前端模拟API数据的两种方式
    Node.js学习笔记
    socket.io笔记
  • 原文地址:https://www.cnblogs.com/ritchy/p/15194577.html
Copyright © 2011-2022 走看看