一般来说大家都有几种备份数据的办法 从简单的excel导出 到 建立临时表备份,这些手段大家都在日常生活中使用过
这里我简单的说下我平时备份数据使用的办法,如有错误的地方请读者们指出互相促进
数据泵 (这个词应该不陌生)
简单的画一个流程图:
这里我们需要做的就是 EXPDP 和 IMPDP 语句的书写
EXPDP 语法:EXPDP USER/PWD KEYWORD = VALUE ;
使用这个语句之前须知:我们必须有一个目录对象,而且用户必须对这个目录具有写的权限
如何检测这个目录是否存在可使用如下方式:
SQL> conn system/Oracle@orl
已连接。
SQL> col directory_name for a15
SQL> col owner for a23
SQL> col directory_path for a50
SQL> SELECT *
2 FROM dba_directories
3 WHERE directory_name = 'DATA_PUMP_DIR';
如果目录存在就会显示具体目录,如果目录不存就会报错;
假如目录不存在 我们先在操作系统上创建一个目录然后授权这个目录
创建目录 SQL> CREATE directory pump_dir as 'f:\pump';
授权目录 SQL> GRANT read on directory pump_dir to user;
EXPDP 参数
关键字 说明
------------------ --------------------------------
ATTACH 连接到现有作业
COMPRESSION 减小有效的存储文件的大小(METADATA_ONLY,NONE)
DUMPFILE 目标存储文件的列表
ENCRYPTION_PASSWORD 创建加密列数据的口令
ESTIMATE 计算作业估计值(BLOCKS , STATISTICS)
EXCLUDE 排除特定的对象类型
FILESIZE 以字节为单位指定每个存储文件的大小
FLASHBACK_SCN 将会话快照设置回以前状态的SCN
FLASHBACK_TIME 获取最接近指定时间的SCN的时间
FULL 导出整个数据库(N)
HELP 显示帮助消息(N)
INCLUDE 包括特定的对象类型
JOB_NAME 要创建的导出作业的名称
LOGFILE 日志文件名
NETWORK_LINK 链接到源系统的远程数据库的名称
NOLOGFILE 不写入日志文件
PAPRALILE 更改当前作业的活动 worker 数目
PARFILE 指定参数文件
QUERY 用于导出表的子集的谓词子句
SAMPLE 要导出的数据的百分比
SCHEMAS 要导出的方案的列表
STATUS 在默认值(0)将显示可用时的新状态的情况下,要见识的频率(以秒计)作业状态
TABLESPACES 标识要导出的表空间的列表
TRANSPORT_FULL_CHECK 验证所有表的存储段
TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表
VERSION 要导出的对象的版本(COMPATIBLE),LATEST 或 任何有效的数据库版本
DIRECTORY 目录对象
TABLES 标示要导出的表的列表
CONTENT 指定要卸载的数据(ALL,DATA_ONLY,NONE)
eg: D:\>expdp user/pwd directory = pump_dir:filename.dat tables = tablename
再续敬请关注