oracle数据库备份与恢复


前言

oracle 数据库,备份与恢复,做个笔记。


一、概述

基于sqlplus的方式备份与还原dmp文件

查询数据文件存放位置:
select name from v$datafile;

二、oracle数据备份

1、打开CMD窗口,登录 dba 用户
	输入: sqlplus system/密码@orcl (一般管理员登录)--------连接本机oracle数据库
--输入: sqlplus system/密码@IP:端口/orcl (一般管理员登录)--------连接非本机oracle数据库
3、创建一个dmp的目录:
	create directory 目录名 as 'D:\DB\bakdmp'; 
4、查询是否有此目录:
	select * from dba_directories; --不要忘记分号
5、在磁盘中新建D:\DB\bakdmp目录
6、赋于要导出数据表的所属用户权限,
	grant read,write on directory 目录名 to 用户名;,授权成功以后输入exit 退出sql7、开始数据备份,
	expdp system/密码@orcl directory=目录名 dumpfile=文件名.dmp logfile=文件名.log schemas=方案名
8、目录D:\DB\bakdmp下面可以看到备份文件
备份完成。

三、oracle数据还原

说明:hr861user-用户名,hr861pwd-用户密码,hr861_STANDARD-永久表空间名,hr861_tmpdata-临时表空间,hr861Directory-目录名
1.打开sqlplus,登录 dba 用户
	输入: sqlplus system/密码@orcl (一般管理员登录)--------连接本机oracle数据库
--输入: sqlplus system/密码@IP:端口/orcl (一般管理员登录)--------连接非本机oracle数据库
2.新建表空间
新建永久表空间
	create tablespace hr861_STANDARD logging datafile 'D:\DB\bakdmp\xxx.DBF'  size 50m autoextend on next 50m maxsize 20480m extent management local;
	--删除表空间:DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
新建临时表空间
	CREATE TEMPORARY TABLESPACE hr861_tmpdata TEMPFILE 'D:\DB\bakdmp\xxx.DBF' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

--表空间扩容的三种方法:
--方法一:增大所需表空间大小:          alter database datafile 'D:\DB\bakdmp\xxx.DBF' resize 500M;
--方法二:增加数据文件个数:            alter  tablespace system add datafile 'D:\DB\bakdmp\xxx.DBF' size 1G;
--方法三:设置表空间自动扩展:          alter database datafile 'D:\DB\bakdmp\xxx.DBF' autoextend on next 500m maxsize 10000m;
3.新建用户指定表空间-强烈建议这么做
	create user hr861user identified by hr861pwd default tablespace hr861_STANDARD temporary tablespace hr861_tmpdata;
--修改用户密码:alter user 用户名 identified by 新密码;
--删除用户 :drop user 用户名 cascade;
--修改用户表空间:alter user 用户名 default tablespace 表空间名;
4.更新dba权限
	grant connect,resource,dba to hr861user;
--创建和会话:grant create session to 用户名;
--连接、资源权限:grant connect,resource to 用户名;
--管理员权限:grant dba to 用户名;
5.创建目录:
	create or replace directory hr861Directory as 'D:\DB\bakdmp';
6.查询有哪些directory
	select * from dba_directories;
7.赋予用户数据泵目录权限
	grant read,write on directory hr861Directory to hr861user;
8.导入命令:打开CMD窗口(不在Sql plus中执行)
	impdp 用户名/密码@实例 directory= 文件目录 dumpfile=XXX.dmp
	impdp hr861user/hr861pwd@orcdemo directory= hr861Directory dumpfile=xxx.dmp logfile=xxx.log;

9.在plsql或者其他oracle检查数据完整性,脚本如下:
	select t.table_name , t.num_rows from user_tables t order by t.num_rows desc
还原完成。

#Over!!!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值