oracle 数据库恢复语句,oracle 数据库恢复

--数据库恢复语句流程

--创建缺省表空间,系统支持表、公用数据表

1)

create bigfile tablespace NNC_DATA01 datafile 'D:\oracle\NNC_DATA01.dbf' size 100m autoextend on NEXT 10k;--蓝色字体分别是表空间名字,表空间存储路径

--表空间 名为 TALENTBASE

create bigfile tablespace TALENTBASE datafile 'D:\oracle\tablespace\tb_bxyh.dbf' size 100m autoextend on NEXT 10k;

--创建临时表空间

create bigfile temporary tablespace NNC_DATA01 tempfile 'D:\oracle\NNC_DATA01.dbf' size 100m autoextend on NEXT 10k;--蓝色字体分别是临时表空间名字,临时表空间存储路径

2)--创建用户,并关联表空间和虚拟表空间,并为用户赋权(共三个 dba、resource、connect);

--使用附件中的如下语句:

--用户权限

grant connect,dba,resource to user;

--删除用户,如果是原有项目数据库用户,覆盖时需要先删除用户;如果是新项目则不需要删除,直接创建

--drop user 用户名 cascade;

drop user tb_bxyh cascade

--创建管理员用户

create user username identified by username default tablespace tb_bxyh temporary tablespace tb_bxyh_bxyh;

--授权

grant connect,dba,resource to username;

--修改限额

ALTER USER HCM QUOTA UNLIMITED ON username;

4、然后打开F:\oracle数据库文件\cmd文件,维护导入语句。

--当用exp导出的文件,恢复时使用imp;

imp 用户名/密码@ora11g file=导入文件路径 fromuser=导出用户名 touser=导入用户名 log=导入文件执行日志

imp H/H201709@orcl file=C:/Users/Administrator/Desktop/jiar/EXPH_20171011030000/oracle_backup/EXPH_20171011030000.dmp fromuser=H touser=H log=EXPH_20171011030000.log

--指定不导出表

expdp db/db@hrdb directory=DATA_PUMP_DIR exclude=table:"in('tp_sys_blob')" dumpfile=20190305.dmp logfile=20190305.log schemas=tt;

--当用expdp导出的文件,恢复时使用impdp;

impdp 用户名/密码@ora11g  directory=dump_dir dumpfile=导入文件名 logfile=导入文件执行日志 remap_schema=导出用户名:导入用户名

impdp tb_czyhtest/hr_39_DB@orcl  directory=dump_dir dumpfile=bak0210.dmp logfile=bak0210.log remap_schema=tb_czyhtest:tb_czyhtest

--查找导入路径

select  *  from  dba_directories;

5、执行完成后,必须查看导入日志文件,每次导入的表信息大概是1000多点,在导入结尾处会有如下字样,标示导入成功。出现警告不影响使用。

(即将启用约束条件...成功终止导入, 但出现警告。)

--如果备份导出的日志显示表缺少,可以用如下语句进行查询,并将查询结果在对应数据库中执行,再次备份导出时就可以将空表导出。

问题:有时候导入时,会提示表空间不足,这时候需要根据提示找到表空间,然后在PLsql中查询,当前表空间的存储文件有哪些。

比如经常会提示‘Tablebase’表空间不足,这时我们使用如下语句,查看已有文件信息:

----查询表空间大小以及使用率:

select tablespace_name, bytes, user_bytes, user_bytes/bytes,file_name from dba_data_files where tablespace_name='TALENTBASE';

目前使用的存储文件都在'E:\oradata\ora11g\...'下面,现在已经有talentbase11.dbf了,那么我们可以使用如下语句,在新增一个存储文件,然后在执行导入语句。

--表空间不足

alter  tablespace TALENTBASE

add datafile 'E:\oradata\ora11g\TALENTBASE12.dbf'

size 100M autoextend on next 10M maxsize unlimited;

--自动扩展

alter database datafile '/db/oracle/oradata/hrdb.dbf'autoextend on next 100m maxsize 10000m

--查找表空间

select * from dba_data_files

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值