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

    12C后切入要操作的pdb

    show pdbs; -- 展示pdb数据库集合
    alter session set container=TESTP1; -- 切入到PDB 数据库
    alter session set container=CDB$ROOT; -- 切回到CDB 容器数据库

    create user REDS identified by SC123456; --创建用户、密码

    --用户赋权限
    GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO REDS;

    --创建表空间,
    create tablespace REDS datafile 'E:ORACLEDBBKREDS.dbf' size 512M autoextend on next 10M maxsize unlimited;

    ---创建多个表空间

    alter tablespace REDS add datafile 'E:ORACLEDBBKREDS01.dbf' size 500m autoextend on next 1024m maxsize 30G;
    alter tablespace REDS add datafile 'E:ORACLEDBBKREDS02.dbf' size 500m autoextend on next 1024m maxsize 30G;
    alter tablespace REDS add datafile 'E:ORACLEDBBKREDS03.dbf' size 500m autoextend on next 1024m maxsize 30G;

    --赋值表空间给用户
    alter user REDS default tablespace REDS;

    --创建主键
    create directory dir_dp as 'E:ORACLEDBBK';

    --赋值
    Grant read,write on directory dir_dp to REDS;

     --导入备份数据库文件(下面只用一个即可,有问题换一个用。)

    impdp REDS/SC123456@SC-DQNB139/orcl DIRECTORY=dir_dp  DUMPFILE=YJ20210824.DMP   REMAP_SCHEMA=REDS:REDS REMAP_TABLESPACE=REDS:REDS ;

    imp REDS/SC123456@SC-DQNB139/SCDB directory=dir_dp dumpfile=YJ20210824.DMP logfile=yj20210824.log schemas=REDS ;

    imp dssale/dssale@orcl file=F:oracledb_three数据库.dmp full=y

    imp REDS/SC123456@SC-DQNB139/orcl file=E:ORACLEDBBKYJ20210824.DMP full=y;

    --导入备份数据库文件
    impdp REDS/SC123456@SC-DQNB139/orcl directory=dir_dp DUMPFILE=YJ20210824.DMP full=y logfile=yj20210824.log;

    ---删除  REDS 

    oracle删除用户命令和部分命令

    drop user REDS cascade;
    drop user REDS cascade;

    删除表空间

    DROP TABLESPACE REDS INCLUDING CONTENTS AND DATAFILES;

    --directory 

    directory 信息存放在 dba_dirctorys 中

    owner 所有者
    directroy_name 文件名
    directory_path 服务器地址路径

    -----查看

     select * from dba_directories;

    ----创建

    create [or replace] directory directory_name as 'path';
    or replace:可选参数,若存在则代替
    directory_name:指定文件名
    path:服务器系统完全路径

    create or replace directory wuhen as 'E:oracledata';

    -----删除

    drop directory dir_dp ;

    ---分配权限

    Grant read,write on directory dir_dp to REDS;

    逻辑备份(expdp和impdp)
    1、expdp/impdp和exp/imp的区别
    exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
    expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。
    imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
    对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。
    本节主要讲解的是expdp/impdp的用法,不涉及到exp和imp

    2、导出数据
    在准备要备份的数据库服务器上创建备份目录(在后面使用sql命令创建的逻辑目录并不是在OS上创建目录,所以我们先要在服务器上创建一个目录)
    用管理员身份登录到sqlplus

    $ sqlplys /nolog

    SQL> conn sys/oracle as sysdba

    创建逻辑目录
    SQL> create directory data_dir as 'E:ak';

    查看管理员目录是否存在

    SQL> select * from dba_directories;

    使用管理员用户给指定的用户赋予在该目录的操作权限(比如该用户需要备份自己的数据)

    Grant read,write on directory dir_dp to REDS;

    导出可有五种方式


    1、“full=y”,全量导出数据库


    $ expdp REDS/SC123456@SC-DQNB139/orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log


    2、schemas按用户导出
    $ expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log


    3、按表空间导出

    $ expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

    4、导出表

    $ expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

    5、按查询条件导出

    $ expdp user/passwd@orcl tables=table1='where number=1234' dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

  • 相关阅读:
    ERROR: do not initialise statics to false
    kernel defconfig
    python --- comment
    python --- for
    Xcode密钥没有备份或者证书过期,出现Valid Signing错误
    [iOS]XCODE5升级之路
    VirtualBOX 虚拟机安装 OS X 10.9 Mavericks 及 Xcode 5,本人X220亲测
    [下载] MultiBeast 6.2.1版,支持10.9 Mavericks。Mac上的驱动精灵,最简单安装驱动的方式。
    XCode 5资源文件不自动更新问题
    Microsoft Word 2010/2013 无法创建工作文件 请检查临时环境变量
  • 原文地址:https://www.cnblogs.com/qqhewei/p/15384110.html
Copyright © 2011-2022 走看看