Oracle数据备份恢复

备份

exp命令用于将数据表或用户导出,导出后可以将数据保存到磁盘文件中,以实现数据的备份。注意该命令是在控制台中运行,而非在sqlplus中运行。例如导出上一章建立的三张表: 

  • 在执行exp命令时,提示输入登录的用户名和密码,登录成功后提示设置提取数据的缓冲区大小,默认是4096字节。按回车后提示导出到磁盘的哪个文件中

  • 这里准备将数据导出到f盘的tables.tab文件中,回车后提示是导出用户及其下的所有对象,还是只导出表,默认是导出用户。输入T表示导出表

  • 之后提示除了导出表的结构以外,是否也导出表中的数据,默认是yes。按回车后提示:

  • 提示是否压缩,默认是yes。按回车后提示:
  •  这一步提示输入要导出的表名称,在这里准备导出dept、emp和history表,所以输入表的名称后按回车:

  • 如果不需要再导出了,就直接按回车结束数据备份过程。之后在f盘下生成了一个tables.tab文件,该文件中包含了dept表、emp表和history表的结构定义及其所有数据。

恢复备份

恢复备份的表结构及其数据使用imp命令。在恢复前我们先登录sqlplus,将这三张表从数据库中删除:

drop table dept;

drop table emp;

drop table history;

  • 之后在控制台下键入imp命令,提示并输入登录的用户名和密码后,输入刚才备份文件的路径及名称:

  • 按回车后提示输入数据提取缓冲区的大小,默认是30720字节:

  • 继续按回车后提示是否只列出导入文件的内容,而不将内容真正导入。当然是no:

  • 此时提示如果对象已经存在的话,就忽略创建错误。默认是no,不忽略。所以直接按回车:

提示是否同时导入scott用户对这些表的访问权限,默认是yes。直接回车

  • 此时提示是否导入表数据,默认是yes。所以直接回车:

  • 提示是否连tables.tab文件也一并导入,这个不需要,我们只需要其中的数据即可。默认是no:

之后提示输入用户的名称,输入后提示是导入所有的表,还是有选择性的导入某些表。如果导入所有的表就直接回车,否则输入要导入的表名称。这里导入所有的表,所以直接回车

  • 使用scott登录后,查看导入的表和数据是否完整:

猜你喜欢

转载自blog.csdn.net/Xin_shou__/article/details/118302834