清明放假,oracle学习又放下了,发现不学习的时候很是空虚,还是学点东西比较踏实
二十五 EXP/IMP及数据泵的备份与恢复
使用数据泵或是EXP/IMP时数据数据库的逻辑备份
EXP 指令
1 备份整个数据库: exp system/oracle@orcl fully=y file=backup_database.dmp
2 导出不含数据的数据库备份:exp system/oracle@orcl fully=y rows=n file=backup_database.dmp
3 导出特定表: exp system/oracle@orcl tables=scott.dept,scott.emp file=tables.dmp
如果导出自己的表,则不需要写模式名
4 导出某用户的所有数据库对象:exp system/oracle@orcl owner=scott file=userbackup_scott.dmp
IMP指令
1 导入整个数据库:imp system/oracle@orcl full=y file=backup_wholedatabase.dmp ignore=y
2 恢复特定的表:imp scott/oracle@orcl tables=emp file=backup_scott_tables.dmp
3 恢复某个用户的所有数据库对象:imp system/oracle@orcl owner=scott file=userbackup_scott.dmp
4 将特定的表导入指定用户:imp system/oracle@orcl tables=emp fromuser=scott touser=system file=userbackup_scott.dmp
数据泵导入导出技术
数据泵导入导出技术基于oracle服务器,导入导出的文件也保存在数据库服务器端
数据泵导出程序EXPDP,数据泵导入程序IMPDP
注: 使用数据泵技术导入导出数据时必须创建一个目录对象,否则无法启动数据泵作业
EXPDP导出数据库实例
1 导出整个数据库:expdp system/oracle@orcl dumpfile=pump_dir:mydb3_%u.dat filesize=100m nologfile=y job_name=tom fully=y
2 导出特定的表:expdp system/oracle@orcl dumpfile=pump_dir:scott_tables_%u.dat tables=scott.emp,scott.dept filesize=100m nologfile=y job_name=only_scott fully=y
3 导出数据行:expdp system/oracle@orcl dumpfile=pump_dir:mydb_dataonly_%u.data filesize=100m job_name=larry full=y content=data_only nologfile
导出表数据和元数据 content=all
导出表数据 content=data_only
导出数据库对象定义 content=metadata_only
IMPDP导入数据库实例
1 导入整个数据库 impdp system/oracle@orcl dumpfile=pump_dir:full_db_%u.dat logfile=myfulldb.log parallel=3 job_name=my_fullda_impdp full=y
2 导入特定表空间 impdp system/oracle@orcl dumpfile=pump_dir:tablespace.dat logfile=myfulldb.log tablespace=users table_exists_action=replace
3 导入指定的数据库对象 impdp scott/tiger@orcl dumpfile=pump_dir:****.dat include=table,trigger table_exists_action=replace
备份与恢复
脱机备份恢复
联机备份恢复