Oracle_003_导入(还原)数据库备份还原数据库

Posted 平凡加班狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle_003_导入(还原)数据库备份还原数据库相关的知识,希望对你有一定的参考价值。

备份和还原(导入)数据库目录

详细说明

理解

oracle和其它数据库有一些不一样,权限这块非常严格
我们可以这么理解,首先我们要有一个用户,这个用户拥有哪些数据库

比如下图,root是管理员,只有这个管理员下才有这些数据库

所以我们习惯性的操作就是,用户名密码以及数据库三者都一样
并不是说要强制这样操作,这样只是为了简洁和方便自己记忆

实操——具体步骤

1、cmd连接数据库并新建用户

根据上面的理解,所以我们首先要做的是新建用户





注意所有的操作都是在登录了管理员才执行的,比如我们常用的就是system这个管理员账号
先登录数据库

注意账号密码不要输错



然后就可以导入了

2、导入数据库

3、导出数据库

第一种方式是利用navicate或者其它客户端连接工具

第二种方式是通过万能的cmd,也是一般我们在oracle里面用的一种方式

参考文档:建用户并授权

完整参考代码:

https://blog.csdn.net/coding13/article/details/53331618
//建用户并授权

查询用户连接情况:SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME=‘GFCDPCS’;

删除连接:ALTER SYSTEM KILL SESSION ‘223,83’;

删除用户和数据sql命令:drop user username(用户名) cascade;

sqlplus system/321 as sysdba //连接数据库 在cmd里面输入这段代码
sqlplus system/system as sysdba

GRANT READ,WRITE ON DIRECTORY DATA_PUMP_DIR TO GFCCS01; //给LIANSU用户赋导入的权利
GRANT READ,WRITE ON DIRECTORY DATA_PUMP_DIR TO HONGFA_CS;
GRANT READ,WRITE ON DIRECTORY DATA_PUMP_DIR TO HONGFACS;

导入

//imp和impdp 就是导入,导入要看导出是什么方式如果导出是exp,导入就用imp 如果导出是expdp 那么导入也要带上dp即impdp

远程:
imp user/password@IP:1521/ORCL full=y file=F:\\xxx.dmp
本地:
imp user/password@orcl full=y file=F:\\xxxdmp ignore=y

imp GUOYAO/GFCCS@orcl file=“D:\\Oracle\\admin\\orcl\\dpdump\\backup20201010092910.dmp” full = y
//用户名/密码@服务名=============导入文件的路径和名字

imp GFCCS01/GFCCS01@orcl file=D:\\Oracle\\admin\\orcl\\dpdump\\aaa.dmp fromuser=gfcw touser=GFCCS01 ignore=y

impdp GFCCS01/GFCCS01@orcl directory=DATA_PUMP_DIR dumpfile=EXPDAT.DMP REMAP_SCHEMA=gfcw:GFCCS01

impdp HONGFA_CS/HONGFA_CS@orcl directory=DATA_PUMP_DIR dumpfile=HONGFACS.DMP REMAP_SCHEMA=gfcw:HONGFA_CS
impdp HONGFACS/HONGFACS@orcl directory=DATA_PUMP_DIR dumpfile=HONGFACS.DMP REMAP_SCHEMA=gfcw:HONGFACS

导出

远程:
exp user/password@IP:1521/orcl file=d:/zyoa0809.dmp full=y //不用加full=y,加上的意思是连同系统表一起导出

本地:
exp user/password@orcl file=d:/zyoa0809.dmp full=y //不用加full=y,加上的意思是连同系统表一起导出

exp HONGFACS/HONGFACS@orcl file=D:\\Oracle\\admin\\orcl\\dpdump\\HONGFACS.dmp full=y; //不用加full=y

expdp GFCCS/GFCCS@ORCL dumpfile=GFCCS.dmp DIRECTORY=DATA_PUMP_DIR schemas=GFCCS

expdp HONGFACS/HONGFACS@ORCL dumpfile=HONGFACS.dmp DIRECTORY=DATA_PUMP_DIR schemas=HONGFACS (成功案例)

3.用户名不一致情况
imp user/password@IP:1521/ORCL full=y file=F:\\xxx.dmp fromuser=xxx touser=yyy

//创建序列
CREATE SEQUENCE SEQ_DEMO
INCREMENT BY 1
START WITH 1
NOMAXvalue
NOCYCLE
NOCACHE;

//恢复delete的数据
insert into 表名(
select * from 表名
– 需要恢复到哪个时间戳
as of timestamp to_timestamp(‘2020.08.04 10:08:11’,‘yyyy.mm.dd hh24:mi:ss’)
– 删除时的条件
where id=55
)

– 查看表空间大小
select b.file_id  文件ID,
  b.tablespace_name  表空间,
  b.file_name     物理文件名,
  b.bytes       总字节数,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
  from dba_free_space a,dba_data_files b
  where a.file_id=b.file_id
  group by b.tablespace_name,b.file_name,b.file_id,b.bytes
  order by b.tablespace_name

创建表空间:create tablespace 表空间名 datafile ‘路径+名称’ size 大小;
create tablespace DPTEST datafile ‘D:\\ORACLE\\ORADATA\\ORCL\\DPTEST.DBF’ size 2000M;

扩展表空间:alter database datafile ‘路径+名称’ resize 大小
alter database datafile ‘D:\\ORACLE\\ORADATA\\ORCL\\DPTEST.DBF’ resize 5096M;

以上是关于Oracle_003_导入(还原)数据库备份还原数据库的主要内容,如果未能解决你的问题,请参考以下文章

Oracle如何备份还原DMP数据库(导入导出DMP)

oracle数据库删除、还原。

ORACLE 数据库备份DUMP文件还原

NBU 还原windows ORACLE数据库(BW)

Oracle数据库迁移问题(备份还原数据导入导出PLSQL)IMP - 0009 错误

oracle数据库热备份与还原