Oracle数据泵expdp和impdp

数据泵的流程

1.数据泵的组成

a】数据泵核心部分程序包:DBMS_DATAPUMP

b】提供元数据的程序包:DBMS_MATADATA

c】命令行程序:EXPDP,IMPDP

2.数据泵文件

a】转储文件:此文件包含对象数据

b】日志文件:记录操作信息和结果

c】SQL文件:将导入作业中的DDL语句写入SQLFILE指定的参数文件中

3.数据泵的目录和文件位置--逻辑概念,逻辑目录

若以sys或system用户完成数据泵的导入导出时,可以使用缺省的目录 DATA_PUMP_DIR

如果设置了环境变量 ORACLE_BASE,则DATA_PUMP_DIR缺省目录位置是:

$ORACLE_BASE/admin/database_name/dpdump

否则是:

$ORACLE_HOME/dmin/dtabase_name/dpdump

也可以指定自定义创建的directory

#设置列显示宽度
col directory_name for a25
col DIRECTORY_PATH for a80

select directory_name,directory_path from dba_directories;

建立目录

复制代码
#创建目录,这里的dmpbak是逻辑目录,后面的/home/oracle/dmpbak是真实路径,这个真实路径需要提前创建,必须是存在的。
create or replace directory dmpbak as '/home/oracle/dmpbak';
#删除目录
drop directory dmpbak;
#授权
grant read,write on directory dmpbak to 用户名;
#给所有用户授权dmpbak目录的读写使用
grant all on directory dmpbak to public;
#dump job 查询
select * from dba+_datapump_jobs;
复制代码

备份恢复

前提准备:建立备份恢复的目录

a】表的备份恢复

复制代码
#导出,多表之间用逗号隔开
expdp 用户名/密码 directory=逻辑目录 dumpfile=文件名.dmp logfile=expdp_日志文件名.log tables=表1,表2,表3
#导出时也可以加入条件 query="'where xxx=x '" #模拟误删除表xxx drop table name xxx purge; drop table name yyy purge; #恢复导入 impdp 用户名
/密码 directory=逻辑目录名 dumpfile=expdp导出的.dmp logfile=导入日志名.log #需要注意导入日志和导出日志是各自独立的,之间没有关系
#remap_table 导入时将表名替换
在impdp语句最后加上 remap_table=原表名:新表名
复制代码

b】用户的备份恢复

复制代码
#用户导出,通常用system管理员用户
expdp 用户名/密码 directory=逻辑目录名 dumpfile=xxx.dmp logfile=xxx.log schemas=用户名
#导入时更换用户,这个操作会创建新用户
impdp 用户名/密码 directory=逻辑目录名 dumpfile=xxx.dmp logfile=xxx.log remap_schemas=原用户名:新用户名
#连接
conn  用户名/密码
#查看当前用户
show user
#查看用户有哪些表
select table_name from user_tables;
#删除用户的操作,cascade的意思是将关联的权限也一并删除
drop user xxx cascade;
复制代码

c】数据库的备份恢复(迁移)

#导出整个数据库,使用管理员
expdp system/xxx directory=逻辑目录名 dumpfile=xxx.dmp full=y logfile=xxx.log
#导入
impdp system/xxx directory=逻辑目录名 dumpfile=xxx logfile=xxx.log full=y
#整个数据库迁移一般用rman

 

posted @   BlackData  阅读(220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示