转载:http://www.javacui.com/DB/461.html
1.备份和恢复的概述
1.逻辑备份:采用 export工具将数据库对象的结构和数据导出到文件的过程。
2.逻辑恢复:值数据库对象被误操作而损坏后使用工具import利用备份文件将数据对象导入到数据库的过程,
3.物理备份:指的是对各种数据文件的拷贝,即可在数据open的状态下进行也可以在关闭数据库后进行。但是逻辑备份和恢复只能在open的状态下进行
2.导出的分类 和 语法
1.分为三种 导出表(T),导出方案(U),导出数据库(Full)
2.导出表:将表导出到磁盘
3.导出方案:如果将一个用户所有的东西,表,数据,视图... 导出到磁盘(个用户的所有都导出了)
4.导出数据库:将多个方案 导出到一个磁盘
5.语法:
exp 命令 这命令 的选项有
userid:用于指定执行导出操作的用户名,口令,连接字符串
tables:用于指定执行导出操作的表
owner:用于指定执行导出操作的方案
full=y:用于指定导出操作的数据库
inctype:(complete,cumulative,incremental) 用于指定导出操作的增量类型
rows:用于指定导出操作是否需要导出表中的数据
file:用于指定导出的文件名
direct=y:直接导出方式速度快
buffer:取数据行的缓冲区大小
compress:导出是否应该压缩有碎片的段成一个范围,这样将会影响storeage子句
grant=y:表示导出时是否导出数据库对象上的权限
indexes:是否导出表上的索引
constraints:是否导出表上的约束条件
recordlength:转存导出文件日志的长度(字节为单位),通常都用作缺省,除非要在两个不通的操作系统中传递导出文件
record:增量导出类型中的一个标记,标记是否将日志存储到数据库字典日志导出表中
ralfile:要传递给导出的参数文件的名字。这个文件包含所有参数文件的入口项
analyze:表明是否将移对象的统计信息写入到转存文件中去
consistent:标明是否保留所有导出对象读取一致复制
log:导出日志将要写入的文件名字
MLS:(多语言选项)表明是否要导出MLS标号
MLS_LABEL:规定MLS标号的格式
3.导入的分类和语法
1.导入也分为三种 导出表(T),导出方案(U),导出数据库(Full)
2.语法:
imp 命令 这命令 的选项有
userid:用于指定执行导出操作的用户名,口令,连接字符串
tables:用于指定执行导出操作的表
formuser:用于指定原用户
touser:用于指定目标用户
file:用于指定导入的文件名
inctype:用于指定执行导入操作的增量类型
rows:用于指定导出操作是否需要导入表中的数据
direct=y:直接导出方式速度快
ignore:如果表存在,则只导入数据
show:规定文件内容是否被显示,而不是被执行
egnore:标明在执行‘CREATE’命令时,是否忽略遇到的错误。如果正在导入的对象已经存在时,应使用这个参数
grants:导入时否要导入数据库对象上的授权
indexes:是否要导入表上的索引
recordlength:转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导入文件
inctype:正在执行的导入操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL
prafile:要传递给导入的参数文件的名字。这个文件将包含所有参数的入口项
analyze:标明是否将移对象的统计信息写入导入转储文件中
log:导入日志将要写入的文件的名字
mls:(多语言选项)标明是否要导入MLS 标号
indexfile:不执行导入动作,只将表/索引信息写入指定的文件
准备:
1.不需要登录sqlplus,直接在DOS命令下 (win+r-->cmd)
2.在导入和导出的时候,要到oracle目录的主目录下面的bin目录下去导(cd D:\app\Admin\product\11.1.0\db_1\BIN)
4.案例: 导出scott 的emp,emp2表
exp userid=scott/tiger@orcl tables=(emp,emp2) file=d:\e1.dmp
5.案例:只导表的结构 不要表的数据 就是只要表的定义
exp userid=sysytem/manager@orcl tables=(scott.emp) file=d:\sysytem_scott_emp.dmp rows=n
6.案例:如果导出的表的数据量比较大 采用 直接导出方式
exp userid=scott/tiger@oracl tables=(emp) file=d:\scott_emp.dmp direct=y
7.案例:导出其他用户方案的表,比如 system导出scott的表--需要dba的权限或者 exp_full_database 的权限
exp userid=sysytem/manager@orcl tables=(scott.emp) file=d:\sysytem_scott_emp.dmp
8.案例:导出方案 指导出一个方案中的所有 视图,表
exp userid=scott/tiger@orcl owner=scott file=d:\kk.dmp
9.案例:导出其他方案,需要dba 权限,或者是 exp_full_database 权限 --例如system用户可以导出任何方案
exp userid=system/manager@orcl owner=scott file=d:\system_scott.dmp
10.导出数据库:是指利用export导出所有的数据库中的对象和数据,要求该用户具有dba和 exp_full_database 权限
exp userid=system/manager@oracl full=y inctype=complete file=d:\orcl.dmp
11.导入自己的表
imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp
12.导入其他用户的表
imp userid=system/manager@orcl tables=(emp) file=d:\my_emp.dmp
13.导入表到其他用户,要求有 dba权限或者 imp_full_database权限
imp useri=system/manager@orcl tables=(scott.emp) file=d:\my_emp.dmp touser=scott fromuser=scott
14.导入表结构 不导入数据
imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp rows=n
15.导入数据 如果对象已经存在
imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp ignore=y
16.导入自己的方案
imp userid=scott/tiger@orcl file=d:\xx.dmp
17.导入其他方案 要求用户具有dba的权限
imp userid=system/manager@orcl file=d:\xx.dmp fromuser=system touser=scott
18.导入数据库
imp userid=system/manager full=y file=d:\xxx.dmp