oracle 数据库恢复

来源:这里教程网 时间:2026-03-03 13:57:50 作者:

--数据库恢复语句流程 --创建缺省表空间,系统支持表、公用数据表 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

相关推荐