逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程。
逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程。
物理备份即可在数据库open的状态下进行,也可在关闭数据库后进行,但是逻辑备份和恢复只能在open的状态下进行。
(导入和导出的时候,首先要从dos中进入到oracle目录的bin目录下)
2)导出
具体分为:导出表、导出方案、导出数据库。
导出使用exp命令来完成的,该命令常用的选项有:
userid:用于指定执行导出操作的用户名、口令、连接字符串
tables:用于指定执行导出操作的表
owner:用于指定执行导出操作的方案
full=y:用于指定执行导出操作的数据库
inctype:用于指定执行导出操作的增量类型
rows:用于指定执行导出操作是否要导出表中的数据
file:用于指定导出文件名
注意:在导入和导出时,要到安装的Oracle目录的bin目录下拷贝目录路径到DOCS窗口中进入该路径来进行导出或导入;(前提是DOCS窗口不识别导出导入命令时)
①导出自己的表
eg:exp userid=用户名/密码@实例 tables=(表名) file=文件存放位置
导出一张表
eg:exp userid=hjjc_dev/hjjc_dev@orcl1 tables=(sys_account) file=d:\e1.dmp;
导出多张表
eg:exp userid=hjjc_dev/hjjc_dev@orcl1 tables=(sys_account) file=d:\e1.dmp;
eg:exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.dmp
③导出表结构不导出表中数据。
只需在上述命令后添加: rows=n
rows=n在exp中就是表示只导出表结构,而不导出数据,其中rows为行的意思,n为no的意思。
eg:exp userid=scott/tiger@myoral tables=(emp) file=d:\e3.dmp rows=n
设置direct=y 最大的差别是速度eg:exp userid=scott/tiger@myoral tables=(emp) file=d:\e4.dmp direct=y
这种方式比默认的常规方式要快,当数据量大时,可以考虑使用这样的方法(这时需要数据库的字符集要与客户端的字符集完全一致,否则会报错...)
是指使用export工具导出一个方案或是多个方案中的所有对象(表、索引、约束...)和数据,并存放到文件中。
①导出自己的方案
eg:exp userid=dam2_test/dam2_test@dam2_test owner=dam2_test file=d:\fangan.dmp;
eg:exp userid=dam2_test/dam2_test@dam2_test owner=(dam2_test,system) file=d:\fangan.dmp;
5) 导出数据库
是指把所有用户创建的表以及数据,方案以及所有对象全部导出,并存放到文件中。要求该用户具有dba的权限或是exp_full_database权限(数据量大,耗用时间较长)
eg:exp userid=system/manage@myoral full=y inctype=complete file=x.dmp