导出和导入实用程序
q 导出和导入实用程序用于实施数据库的逻辑备份和恢复
q 导出实用程序将数据库中的对象定义和数据备份到一个操作系统二进制文件中
q 导入实用程序读取二进制导出文件并将对象和数据载入数据库中
q
q 导出和导入实用程序的特点有:
q 可以按时间保存表结构和数据
q 允许导出指定的表,并重新导入到新的数据库中
q 可以把数据库迁移到另外一台异构服务器上
q 在两个不同版本的Oracle数据库之间传输数据
q 在联机状态下进行备份和恢复
q 可以重新组织表的存储结构,减少链接及磁盘碎片
导出导入模式:
完全数据库 导出和导入整个数据库中的所有对象
表 导出和导入一个或多个指定的表或表分区
用户 导出和导入一个用户模式中的所有对象
表空间 导出和导入一个或多个指定的表空间中的所有对象
导出实用程序有以下常用命令参数:
参数 | 说明 |
USERID | 确定执行导出实用程序的用户名和口令 |
BUFFER | 确定导出数据时所使用的缓冲区大小,其大小用字节表示 |
FILE | 指定导出的二进制文件名称,默认的扩展名是.dmp |
FULL | 指定是否以全部数据库方式导出,只有授权用户才可使用此参数 |
OWNER | 要导出的数据库用户列表 |
HELP | 指定是否显示帮助消息和参数说明 |
ROWS | 确定是否要导出表中的数据 |
TABLES | 按表方式导出时,指定需导出的表和分区的名称 |
PARFILE | 指定传递给导出实用程序的参数文件名 |
TABLESPACES | 按表空间方式导出时,指定要导出的表空间名 |
按用户方式导出数据
exp userid=scott/tiger@HP2008 file=scott_back.dmp owner=scott
按表方式导出数据
exp scott/tiger@HP2008 tables=(emp, dept) file=scott_back_tab
按表空间方式导出数据
exp system/ system@HP2008 tablespaces=(users) file=tbs_users
按完全数据库方式导出数据
exp scott/tiger full=y file=xxx.dmp
使用参数文件导出数据
exp system/system parfile='C:/parameters.txt'
导入实用程序有如下常用命令参数:
参数 | 说明 |
USERID | 指定执行导入的用户名和密码 |
BUFFER | 指定用来读取数据的缓冲区大小,以字节为单位 |
COMMIT | 指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交 |
FILE | 指定要导入的二进制文件名 |
FROMUSER | 指定要从导出转储文件中导入的用户模式 |
TOUSER | 指定要将对象导入的用户名。FROMUSER与TOUSER可以不同 |
FULL | 指定是否要导入整个导出转储文件 |
TABLES | 指定要导入的表的列表 |
ROWS | 指定是否要导入表中的行 |
PARFILE | 指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数 |
IGNORE | 导入时是否忽略遇到的错误,默认为N |
TABLESPACES | 按表空间方式导入,列出要导入的表空间名 |
将整个文件导入数据库
imp scott/tiger@HP2008 file=item_back.dmp ignore=y full=y
将scott用户的表导入到martin用户
imp system/system@HP2008 file=scott_back fromuser=scott touser=martin tables=(emp,dept)
使用参数文件导入数据
imp system/system parfile='C:/parameters.txt'