zoukankan      html  css  js  c++  java
  • Oracle备份、还原数据库

    备份数据库

    创建备份目录(用sys账号),若已创建备份目录,此步可忽略

    create directory db_bak as 'D: ECIMS_DB'
    --查看创建的目录
    select * from dba_directories
    
    --删除已创建的目录
    drop directory DB_BAK
    
    格式:
    drop directory 目录名

    备份(导出)数据库(cmd状态下)

    expdp XXX/XXX@XXX schemas=XXX dumpfile=XXX_20181130.dump logfile=XXX_20181130.LOG DIRECTORY=DB_BAK
    
    语法:
    expdp 用户名/密码@实例名 schemas=用户名 dumpfile=导出dump文件名.dump logfile=导出日志文件名.LOG DIRECTORY=DB_BAK

    导入数据库

    步骤一、导入前,先删除账号(plsql状态下)

    drop user XXX cascade;
    
    格式:
    drop user 用户名 cascade;

    注:若删除不掉,需先删除所有会话!!!

    select username, sid, serial# from v$session where username='XXX' --找到用户SESSION
    
    格式:
    select username, sid, serial# from v$session where username='用户名' --找到用户SESSION
    
    注:若有多条会话,需批量删除
    
    alter system kill session '249,57377' --杀掉用户SESSION 'sid,serial#'
    alter system kill session '250,57376' --杀掉用户SESSION 'sid,serial#'
    alter system kill session '251,57375' --杀掉用户SESSION 'sid,serial#'
    
    格式:
    alter system kill session 'sid,serial' 

    步骤二、创建账号,赋予权限(plsql状态下)

    create user XXX identified by XXX default tablespace USERS
    temporary tablespace TEMP
    profile DEFAULT;
    
    -- Grant/Revoke role privileges 
    grant connect to XXX;
    grant dba to XXX;
    grant resource to XXX;
    
    -- Grant/Revoke system privileges 
    grant alter any sequence to XXX;
    grant alter any table to XXX;
    grant alter any trigger to XXX;
    grant change notification to XXX;
    grant create any procedure to XXX;
    grant create any sequence to XXX;
    grant create any table to XXX;
    grant create any type to XXX;
    grant create any view to XXX;
    grant unlimited tablespace to XXX;
    
    --------------------------------------------------------------
    格式:
    create user 用户名 identified by 密码 default tablespace USERS
    temporary tablespace TEMP
    profile DEFAULT;
    
    -- Grant/Revoke role privileges 
    grant connect to 用户名;
    grant dba to 用户名;
    grant resource to 用户名;
    
    -- Grant/Revoke system privileges 
    grant alter any sequence to 用户名;
    grant alter any table to 用户名;
    grant alter any trigger to 用户名;
    grant change notification to 用户名;
    grant create any procedure to 用户名;
    grant create any sequence to 用户名;
    grant create any table to 用户名;
    grant create any type to 用户名;
    grant create any view to 用户名;
    grant unlimited tablespace to 用户名;

    步骤三、导入数据(cmd状态下)

    impdp XXX/XXX DIRECTORY=db_bak DUMPFILE=XXX.dump logfile=XXX.log REMAP_SCHEMA=XXX:XXX remap_tablespace=XXX:XXX
    
    格式
    impdp 用户名/密码 DIRECTORY=db_bak DUMPFILE=备份文件名.dump logfile=备份日志文件名.log REMAP_SCHEMA=导出用户名:导入用户名 remap_tablespace=导出表空间:导入表空间

    方式二备份及导入(推荐)

    --备份数据库
    expdp YZJ_TEST/YZJ_TEST@ECIMS schemas=YZJ_TEST dumpfile=YZJ_TEST_20181130.dump logfile=YZJ_TEST_20181130.LOG DIRECTORY=DB_BAK
    --删除帐号
    drop user YZJ_TEST cascade;
    --查看账号连接数量
    select username, sid, serial# from v$session where username='YZJ_TEST' --找到用户SESSION
    alter system kill session '249,57377' --杀掉用户SESSION 'sid,serial#'
    
    /*第1步:创建临时表空间  */
    create temporary tablespace DMIS_STD_TEMP  
    tempfile 'F:appAdministratororadataECIMSDMIS_STD_TEMP.dbf' 
    size 50m  
    autoextend on  
    next 50m maxsize 20480m  
    extent management local;  
     
    /*第2步:创建数据表空间  */
    create tablespace DMIS_STD_DATA  
    logging  
    datafile 'F:appAdministratororadataECIMSDMIS_STD_DATA.dbf' 
    size 50m  
    autoextend on  
    next 50m maxsize 20480m  
    extent management local; 
    
    /*第3步:创建用户并指定表空间  */
    create user DMIS_STD identified by DMIS_STD
    default tablespace DMIS_STD_DATA  
    temporary tablespace DMIS_STD_TEMP; 
    
    
    3、导入语句按下面的方式
    impdp system/eMarine123 DIRECTORY=db_bak DUMPFILE=ERIM_PROD.dump logfile=ERIM_PROD_imp.log REMAP_SCHEMA=ERIM_PROD:<新用户名> remap_tablespace=ERIM_PROD:<新表空间名>

    注意事项!!

    注:若是新数据库,需要执行第2、3步骤,旧数据库无需执行!!!!

  • 相关阅读:
    Chapter01_前言、入门程序、常量、变量
    面向对象知识点总结
    Java快捷键
    上线
    docker
    分页,过滤,搜索,排序
    Celery
    django-redis 缓存使用
    前台登录注册修订
    短信注册接口
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/11812970.html
Copyright © 2011-2022 走看看