Oracle11g数据库的备份及还原

一、备份数据库(exp)
1、完全备份
exp demo/[email protected] buffer=1024 file=d:\back.dmp full=y
demo:用户名、密码
buffer: 缓存大小
file: 具体的备份文件地址
full: 是否导出全部文件
ignore: 忽略错误,如果表已经存在,则也是覆盖
2、将数据库中system用户与sys用户的表导出
exp demo/[email protected] file=d:\backup\1.dmp owner=(system,sys)
3、导出指定的表
exp demo/[email protected] file=d:\backup2.dmp tables=(teachers,students)
4、按过滤条件,导出
exp demo/[email protected] file=d:\back.dmp tables=(table1) query=\" where filed1 like ‘fg%‘\"
导出时可以进行压缩:
命令后面 加上 compress=y
如果需要日志,后面: log=d:\log.txt

5、备份远程服务器的数据库
exp 用户名/密码@远程的IP:端口/实例 file=存放的位置:\文件名称.dmp full=y

二、还原数据库
打开cmd直接执行如下命令,不用再登陆sqlplus。
1、完整还原
imp demo/[email protected] file=d:\back.dmp full=y ignore=y log=D:\implog.txt
指定log很重要,便于分析错误进行补救。
2、导入指定表:
imp demo/[email protected] file=d:\backup2.dmp tables=(teachers,students)
3、还原到远程服务器
imp 用户名/密码@远程的IP:端口/实例 file=存放的位置\文件名称.dmp full=y

三、解决11G后,空表无法导出的问题
11G中有个新特性,当表无数据时,不分配segment,以节省空间。这样在导出数据的时候,空表不被导出
解决方法:
1、insert一行,再rollback就产生segment了。
  该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
2、设置deferred_segment_creation 参数

该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
需要查询所有的空表,然后执行
select ‘alter table ‘||table_name||‘ allocate extent;‘ from user_tables where num_rows=0
然后再导出即可。

四、导入数据时遇到 ORACLE 错误 959,表空间 ‘xxx‘ 不存在
IMP-00003: 遇到 ORACLE 错误 959
ORA-00959: 表空间 ‘xxx‘ 不存在
IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
解决方案:
1、导入前,先创建表空间
(创建目录即为oracle的数据目录)
create tablespace xxx datafile ‘D:\oracle\data\xxx.dbf‘ size 100M autoextend on;
2、指定用户该表空间不受限
alter user demo quota unlimited on xxx;//后面的xxx是表空间名
3、然后再imp即可
注意导入时一定要指定log,便于分析解决
成功提示是这样的:
成功终止导入,没有出现警告

原文地址:https://www.cnblogs.com/boosli/p/10201479.html

时间: 12-30

Oracle11g数据库的备份及还原的相关文章

SQLServer2008修改sa密码的方法与SQL server 2008数据库的备份与还原

sa密码的修改转载自:http://blog.csdn.net/templar1000/article/details/20211191 SQL server 2008数据库的备份与还原转自 :http://www.cnblogs.com/zgqys1980/archive/2012/07/04/2576382.html 一.SQLServer2008修改sa密码的方法 1. 先用Window身份验证方式登陆进去,选择数据库实例,右键选择属性--安全性:把服务器身份验证选项从"Window身份验

关于mysql数据库的备份和还原

数据库备份 查看数据库:show databases 现在我要备份word数据库 退出mysql输入mysqldump -u root -p word > word.sql 查看一下 备份完成 还原数据库 mysqldump -u root -p word < word.sql 完成

4-04数据库的备份与还原

SQL Sever 提供四种数据库备份方式: 完整备份:备份整个数据库的所有内容包括事务日志. 差异备份:只备份上次完整备份后更改的数据部分. 事务日志备份;只备份事务日志里的内容. 文件或文件组备份"只备份文件或文件组中的某些文件. 在数据库完整备份期间,SQL Sever做以下工作: 备份文件及数据库中所有表的结构和相关的文件结构. 备份在备份期间发生的所有活动. 备份在事务日志中未确认的事务. 数据库的备份: 点击你要操作的数据库,右击任务,在点击备份. 在上面可以选择你要操作的数据库,下

SQL server 2008数据库的备份与还原(转)

一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库:Dsideal_school_db既是我们需要备份的学籍数据库 图(1) 2.选择要备份的数据库“Dsideal_school_db”,点击鼠标右键 → 任务 → 备份,如图(2): 图(2) 3.在打开的“备份数据库 —Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3):

第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)

在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来备份和还原数据库,但是这种操作实质是在服务器上进行的,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,这个原则不会变,只是使用了客户端的一个工具来操作这个过程而已. 1.1.备份数据库 备份数据库有两种方式: 第一种是在企业管理器中,利用工具对数据库进行备份,这种备份的文件只会有一个,即以

delphi数据库的备份及还原

实例应用1: //备份procedure TF_DataBaseBackUp.Btn_bfClick(Sender: TObject); var i:integer; begin if SaveDialog1.Execute then begin ADOConnection1.Connected:=False; ADOConnection1.ConnectionString:=StringReplace(GetConnectionString,'Taxi','master',[rfReplace

linux下 mysql数据库的备份和还原

1.备份 1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql 2 Enter password: 3 [[email protected] ~]# ls ~/mysql.sql /root/mysql.sql 2.还原 [[email protected] ~]# mysql -u root -p web < ~/web.sql #把web.sql导入数据

数据库的备份与还原

上周在维护考研的3个网站(心理.历史.教育学)时,遇到了后台网址登不进去的问题,大概是报的数据库错误. 可以先到根目录下找有没有admin_loginxxx.aspx这个文件,从而判断有没有后台,有没有数据库 1.首先还原数据库(把需要还原的数据库  **.bak文件先找个地方存起来,我当时放的E盘根目录下,再到服务器上找到各网站的根目录下的配置文件  iwms.config,找到里面连接的服务器.数据库用户名 .密码 2.打开SQL server management studio数据库  

PHP执行Mysql数据库的备份和还原

使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句.然后,将表中的所有记录转换成一条INSERT语句.然后通过这些语句,就能够创建表并插入数据. mysqldump基本语法: mysqldump -u username -p password dbname table1 table2 ...-> Back

backup3:master 数据库的备份和还原

在SQL Server 中,master 数据库记录系统级别的元数据,例如,logon accounts, endpoints, linked servers, and system configuration settings,同时,master 数据库记录其他数据库及其文件的位置,因此,在启动SQL Server实例时,master数据库必须最先启动.master 数据库是如此重要,必须频繁地备份master数据库.Only full database backups of master c