linux系统 还原oracle数据库步骤跟命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统 还原oracle数据库步骤跟命令相关的知识,希望对你有一定的参考价值。
数据还原:1.在命令行输入:sqlplus "/as sysdba"
2. 执行以下语句登录xx数据库,用户名:xx,密码:xx(请输入当地实际密码)
conn xx/xx;
3.如果恢复的表中有涉及到触发器的请停止触发器,例:A表
alter table A disable all triggers;
commit;
4. 执行以下语句退出当前用户
quit;
5. 执行以下语句,恢复用户数据。
impdp xx/xx@数据库实例名 directory=bak_dir table_exists_action=truncate dumpfile=expdb_xx.dmp logfile=impdb_xx.log
5.在命令行输入:sqlplus "/as sysdba"
6. 执行以下语句登录xx数据库,用户名:xx,密码:xx(请输入当地实际密码)
conn xx/xx;
7. 执行以下语句打开被禁止的触发器
alter table A enable all triggers;
commit; 参考技术A 还原有好多方式,包括完全恢复和不完全恢复、使用rman恢复或者使用sqlplus恢复。
一般来讲就是先启动数据库到mount状态,然后使用操作系统命令把需要恢复的文件拷贝到原位置,然后recover database/tablespace 最后在alter database open。当前前提是你要有备份 参考技术B hjygv bn
oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库
oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库
最近由于系统重装,在还原dmp备份文件时,由于数据原因(用exp命令导出时表没有导出全部),导致系统不能正常运行。根据网上的信息和个人实际情况,做个记录,便于后用。
oracle 导出空表方法:
1. 执行下面语句:
select table_name from user_tables where NUM_ROWS=0;
2.假设我们这里有空表TBL_1,TBL_2,TBL_3,TBL_4,则查询结果如下:
alter table TBL_1 allocate extent;
alter table TBL_2 allocate extent;
alter table TBL_3 allocate extent;
alter table TBL_4 allocate extent;
最后我们把上面的SQL语句执行,再导出就可以了。
下面正式开始
说明:把原来的数据做备份
原oracle安装目录,D:\tools\oracle11g\Administrator
备份oracle目录, D:\数据库备份\oracle11g\Administrator
步骤:
一、重装oracle,安装目录要与原来的安装目录相同,即为D:\tools\oracle11g\Administrator
二、创建数据库时,确保ORACLE_SID与原数据库相同,此处ORACLE_SID = sd ,安装好数据库后,创建好表空间信息,也与原数据库相同,如果原来的有临时表空间,也要创建(和原来的一样)
三、创建成功后,会在D:\tools\oracle11g\Administrator\oradata\ 下出现与ORACLE_SID同名的文件夹sd ,即D:\tools\oracle11g\Administrator\oradata\sd
四、在控制面板->管理工具->服务 中,停止以下服务:
1)OracleOraDb11g_home1TNSListener
2)OracleServiceSD
因为我只开启了这两项oracle服务,为确保操作过程顺利,可以停止所有oracle服务。
五、从备份盘中拷贝oracle数据库文件:
1)把D:\数据库备份\oracle11g\Administrator\oradata\目录下的oracle文件夹完整拷贝到 D:\tools\oracle11g\Administrator\oradata\目录下。
2) 将D:\数据库备份\oracle11g\Administrator\product\11.2.0\dbhome_1\database 目录下文件拷贝到 D:\tools\oracle11g\Administrator\product\11.2.0\dbhome_1\database
3) 将D:\数据库备份\oracle11g\Administrator\product\11.2.0\dbhome_1\network\admin 目录下文件拷贝到 D:\tools\oracle11g\Administrator\product\11.2.0\dbhome_1\network\admin下,注意修改文件里的HOST值
admin 文件夹下的文件都看看,如果和现在的主机名(IP)不一样,都改一下。
六、复制控制文件
把D:\数据库备份\oracle11g\Administrator\flash_recovery_area\sd下的CONTROL02.CTL(这个文件和用户有关)文件copy到新安装的对应目录下(可把新的进行重命名,以备用。相信你在做上面的操作前都已经做好备份了)。
七、重新启动停止的oracle服务。
OK,你的数据已经还原好了。
以上是关于linux系统 还原oracle数据库步骤跟命令的主要内容,如果未能解决你的问题,请参考以下文章