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

原文地址:https://www.cnblogs.com/qqhewei/p/15384110.html