博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle备份和恢复
阅读量:6984 次
发布时间:2019-06-27

本文共 2325 字,大约阅读时间需要 7 分钟。

--什么是脱机备份  脱机备份也叫冷备份,首先管理员使用 shutdown immediate 命令关闭数据库的服务。之后复制需要的文件,包括数据文件和控制文件等相关内容复制到磁盘的其他位置。当数据库出现问题时,就可以在将复制出来的文件在恢复到原来的位置。数据文件和日志文件位置:..\app\Administrator\oradata控制文件可以查看init.ora的配置信息:安装目录下admin\orcl\pfile控制文件也可以查询表select name as 控制文件位置,status as 控制文件状态 from v$controlfile;--什么是联机备份  联机备份也叫热备份,是在数据库的归档模式下进行备份。--查询数据库日志的命令,使用sql plus工具查看,--而且还必须使用sys用户,其他用户没有权限。connect  sys/密码@orcl as sysdba; archive log list;--设置数据库日志模式为归档模式alter system set log_archive_start=true scope=spfile;--设置系统日志方式为归档模式shutdown immediate;--关闭数据库startup mount;--启动mount实例,但不启动数据库。alter database archivelog;--修改数据库为归档日志模式。--把数据库设置成归档模式后,就可以进行数据库的备份与恢复操作了。--备份表空间1、打开数据库alter database open;2、开始备份表空间alter tablespace space_name begin backup;3、将数据库中安装目录下的oradata文件夹(数据库对象都放在这里),   把文件复制到其他地方。4、结束表空间备份alter tablespace space_name end backup;--恢复表空间中的数据1、对当前日志进行归档。alter system archive log current;2、切换日志文件,有几个日志文件,就执行几次alter system switch logfile;--logfile是日志文件的位置。3、关闭数据库服务shutdown immediate;4、删除数据库文件并重新启动数据库select * from v$datafile;--查看数据库数据文件的位置select * from v$recover_file;--确认缺少的数据文件startup;5、将数据文件设置成脱机状态并删除alter database datafile 10 offline drop;6、把数据库的状态设置成openalter database open;7、恢复数据文件recover datafile 10;注意:恢复数据时数据文件编号要一致。8、设置数据文件为联机状态alter database datafile 10 online;注意:在恢复数据库中的文件时,把数据库文件设置成脱机状态后,就需要把之前备份好的数据文件复制到原来的数据文件存放的位置,否则就会出现错误。错误信息:ora-00283:恢复会话因错误而取消ora-01110:数据文件10;ora-01152:无法标识/锁定数据文件10 请参阅DBWR跟踪文件。--逻辑备份和恢复数据库exp工具可以到处表、空间、方案、数据库4个数据库对象。1、导出表打开Doc命令工具执行下面命令:exp username/pwd@orcl根据提示的选项选择要导出的对象。2、导出表空间语法exp username/password@orcl file='filename.dmp' tablespace='space_name';--使用expdp导出数据 expdp是Oracle10g开始引用的数据泵技术,使用expdp时首先创建目录对象,通过这个对象就可以找到要备份数据的数据库服务器,并且使用expdp工具备份出来的数据必须存放在目录对象对应的操作系统的目录中。1、创建目录对象create directory directory_name as 'file_name';directory_name:目录名称。file_name:存放数据的文件夹名。2、给使用目录的用户赋权限grant read,write on directory directory_name to user_name;3、导出表,使用do工具。expdp username/password@orcl directory=directory_name dumpfile=file_name tables=table_name;directory_name:存放导出数据的目录名称。file_name:导出数据存放文件名称。table_name:准备导出的表名,多个表用逗号隔开。--使用imp导入数据imp username/password@orcl 根据提示的选项选择要导入的对象。将文件中数据导入到表imp username/password@orcl file=file.dmp tables=table_name;--使用impdp导入数据impdp username/password@orcl directory=directory_name dumpfile=file.dmp tables=table_name;

 

转载于:https://www.cnblogs.com/gynbk/p/6556206.html

你可能感兴趣的文章
mysql数据库query cache
查看>>
使用docker commit 来扩展一个image
查看>>
jsp 防止sql注入 之 preparestatement篇(转载)
查看>>
Linux之Ansible入门用法(实验解析)
查看>>
Linux系统如何在开机时修改root密码
查看>>
Anychat的绝对路径与相对路径
查看>>
我的友情链接
查看>>
如何使用网络库实现应用级消息收发
查看>>
Single Area OSPF
查看>>
rhel6之yum
查看>>
selenium+ant+testng测试框架简单介绍
查看>>
自己写的DBUtil数据库连接工具类
查看>>
登录多实例MySQL失败,修改密码临时解决,原因不明
查看>>
Linux下安装oracle数据库步骤
查看>>
yum 不小心删除后安装
查看>>
vim 使用
查看>>
为敏感信息设置安全屏障
查看>>
mysql fabric安装使用测试
查看>>
java 对 mongoDB 分组统计操作 以及一些常用操作
查看>>
当你扛不住的时候就读读
查看>>