oracle数据库的还原和备份

创建数据表空间

create tablespace 表空间名
logging 
datafile '文件名'  size 100M autoextend on next 10M maxsize UNLIMITED extent management local;

举例:

create tablespace tps_data_evidence
logging 
datafile 'TPS_DATA_EVIDENCE.dbf'  size 100M autoextend on next 10M maxsize UNLIMITED extent management local;

创建临时表空间

create temporary tablespace 表空间名  
tempfile '文件名' 
size 100M  
autoextend on  
next 50m maxsize 2048m  
extent management local;

举例:

create temporary tablespace tps_temp_evidence  
tempfile 'TPS_TEMP_EVIDENCE.dbf' 
size 100M  
autoextend on  
next 50m maxsize 2048m  
extent management local;

创建用户

create user 用户名 identified by 密码  
default tablespace 表空间  
temporary tablespace 临时表空间;

举例:

create user evidence identified by iflytek  
default tablespace tps_data_evidence  
temporary tablespace tps_temp_evidence;  

普通权限

grant connect,resource,unlimited tablespace to 用户名;

对用户赋予权限 dba权限 ,不建议

grant dba to 用户名;

客户端导出导入命令之前,需查看将导出的数据库中是否存在空表:

select 'alter table '||t.TABLE_NAME||' allocate extent;' from user_tables t where t.NUM_ROWS=0;

然后之后执行以上命令的所有查询记录;

客户端导出命令:(exp)

exp 数据库用户名/密码@数据库访问IP及端口 file=导出的dmp文件存放路径 log=日志文件存放路径 INDEXES=n STATISTICS=none 

如:exp evidence/iflytek@10.11.118.10:1521/orcl file=F:\db_bak\evidence.dmp log=F:\db_bak\evidence_exp.log INDEXES=n STATISTICS=none

客户端对应的导入命令:(imp)

imp 需要导入数据的数据库用户名/密码@数据库访问IP及端口 file=需导入的dmp文件存放路径 log=日志文件存放路径 fromuser=原来导出的用户名 touser=需要导入的用户名 ignore=yes 

如:imp evidence_wdx/iflytek@10.11.118.10:1521/orcl file=F:\db_bak\evidence.dmp log=F:\db_bak\evidence_imp.log fromuser=evidence touser=evidence_wdx ignore=yes

服务端导出命令:(expdp)

expdp 需要导出数据的数据库用户名/密码@数据库访问IP及端口 schemas=scott dumpfile=expdp.dmp directory=dump_dir;

如:expdp evidence/iflytek@10.11.118.10:1521/orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir;
(PS:导出的dmp文件自动保存到Oracle的安装路径:/opt/oracle/admin/orcl/dpdump/)

服务端导入命令:

impdp 需要导入数据的数据库用户名/密码@数据库访问IP及端口 directory=DATA_PUMP_DIR dumpfile=文件名称 REMAP_TABLESPACE=现有表空间:原有表空间 logfile=日志文件;

如:impdp evidence_wdx/iflytek@10.11.118.10:1521/orcl directory=DATA_PUMP_DIR dumpfile=expdp.dmp REMAP_TABLESPACE=USERS:USERS logfile=20170429flws.log ;

实际举例

ps:还原一套数据库的具体步骤(还原数据库的名称为:evidence_yangjiao)
1、先创建一个用户名为evidence_yangjiao 的数据库
create user evidence_yangjiao identified by iflytek
default tablespace USERS

2、给该用户赋相关权限
grant dba to evidence_yangjiao;

3、备份一套现有的测试库的dmp文件
打开window系统的控制台,在控制台输入一下命令:
exp evidence21/iflytek@10.11.118.10:1521/orcl file=F:\db_bak\evidence.dmp log=F:\db_bak\evidence_exp.log INDEXES=n STATISTICS=none

4、将步骤3导出的dmp文件导出到evidence_yangjiao的数据库中
imp evidence_yangjiao/iflytek@10.11.118.10:1521/orcl file=F:\db_bak\evidence.dmp log=F:\db_bak\evidence_imp.log fromuser=evidence21 touser=evidence_yangjiao ignore=yes

至此,一套完整的数据库还原成功

还原后检查索引是否全(与原库对比)

在数据库还原过程中最容易丢失的数据就是索引,所以我们得校验一下索引数据是否完整。
select count(*) from user_indexes t;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值