这篇文章主要介绍“oracle数据库恢复的方法是什么”,在日常操作中,相信很多人在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
到此,关于“oracle数据库恢复的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!