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

2021/10/29 19:13:06

本文主要是介绍Oracle_003_导入(还原)数据库、备份、还原数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

文章目录

  • 备份和还原(导入)数据库目录
  • 详细说明
    • 理解
    • 实操——具体步骤
      • 1、cmd连接数据库并新建用户
      • 2、导入数据库
      • 3、导出数据库
  • 完整参考代码:
    • 导入
    • 导出

详细说明

理解

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_导入(还原)数据库、备份、还原数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程