Oracle、PostgreSQL、Sybase数据库导入导出命令说明和示例

Oracle PostgreSQL Sybase 数据库 导入导出命令说明和示例

 

 

 

 

 

 

 

 

文档控制

l  文档变更记录

 

日期

版本

作者

备注

2009-11-30

v1.0

陈浩

创建

2009-12-18

v1.1

陈浩

修改创建 directory 说明

 

 

 

 


 

Oracle

Oracle 中的 expdp/impdp 是传统的 exp/imp 的增强工具,极大的提高了导入速度,可以改变导入时表空间(例如公司库所用表空间为 USERS ,用户数据库所用表空间为 ESA )。

 

expdp/impdp 的限制为:导入导出文件只能保存在本地服务器上,不能保存在远程机器上。

 

创建目录( DIRECTORY )的步骤:

导入前需要 (1) 建立目录( directory ),并且 (2) 把目录读写权限赋予进行导入导出的用户

示例:

(1)     建立目录 dump_dir ,该目录指向“ d:/oracle/dump_dir/

SQL> CREATE OR REPLACE DIRECTORYdump_dir AS'd:/oracle/dump_dir/' ;

(2)     赋予 esa 用户 dump_dir 目录读写权限( esa 用户已赋予 DBA 权限可忽略此步骤)

SQL> GRANTREAD,WRITE ON DIRECTORYdump_dir TOesa ;

这样, oracle 通过 directory (路径) + dumpfile (文件名)即可找到该文件

 

Oracle 的图形化工具为 PL/SQL Developer

 

导出命令: expdp

查看使用帮助 expdp -help

主要参数解释:

关键字

说明(默认值)

DIRECTORY

供转储文件和日志文件使用的目录对象。

DUMPFILE

目标转储文件 (expdat.dmp) 的列表 ,

例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp

EXCLUDE

排除特定的对象类型 , 例如 EXCLUDE=TABLE:EMP

FULL

导出整个数据库 (N)

SCHEMAS

要导出的方案的列表 ( 登录方案 )

TABLES

标识要导出的表的列表 - 只有一个方案。

注: 1 SCHEMAS TABLES 参数只能二者选一。

 

示例:

1,  导出 esa 用户所有对象到指定目录的 esa.dmp 文件

expdp esa/esa directory=dump_dir dumpfile=esa.dmp SCHEMAS=esa

2,  导出 esa 用户的 FM_STDEVENT FM_PRIMARYEVENT 表到指定目录的 esa_tb.dmp

expdp esa/esa directory=dump_dir dumpfile=esa_tb.dmp tables=esa.fm_stdevent,esa.fm_primaryevent

 

导入命令: impdp

查看使用帮助: impdp -help

主要参数解释:

关键字

说明(默认值)

DIRECTORY

供转储文件 , 日志文件和 sql 文件使用的目录对象。

DUMPFILE

要从 (expdat.dmp) 中导入的转储文件的列表 ,

例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp

EXCLUDE

排除特定的对象类型 , 例如 EXCLUDE=TABLE:EMP

FULL

从源导入全部对象 (Y)

REMAP_SCHEMA

将一个方案中的对象加载到另一个方案。

REMAP_TABLESPACE

将表空间对象重新映射到另一个表空间。

SCHEMAS

要导入的方案的列表。

TABLES

标识要导入的表的列表。

注: 1 SCHEMAS TABLES 参数只能二者选一。

2 remap_* 的语法为 remap_*=oldValue:newValue

 

示例:

1,  导入 esa.dmp 文件中 esa 用户所有对象到 esa_2 用户中

impdp esa/esa directory=dump_dir dumpfile=esa.dmp schemas=esa remap_schema=esa:esa_2

2,  导入 esa.dmp 文件中 esa 用户的 fm_stdevent fm_primaryevent 表到 esa_2 用户中

impdp esa/esa directory=dump_dir dumpfile=esa.dmp remap_schema=esa:esa_2 tables=esa.fm_stdevent,esa.fm_primaryevent

3,  导入 esa.dmp 文件中 esa 用户所有对象到 esa_2 用户中,表空间改为使用 esa (原 esa 用户默认表空间为 users

impdp esa/esa directory=dump_dir dumpfile=esa.dmp schemas=esa remap_schema=esa:esa_2 remap_tablespace=users:esa

 

 

PostgreSQL

PostgreSQL 的图形化工具为 pgAdmin III ,可在 pgAdminIII 上快速的备份 、恢复数据库

 

导出命令: pg_dump  [OPTION]... [DBNAME]

查看使用帮助: pg_dump --help

主要参数解释:

关键字

说明(默认值)

-h, --host=HOSTNAME

数据库服务器 IP

-p, --port=PORT

数据库服务器端口号

-U, --username=NAME

用户名

-W, --password

密码

-F, --format=c|t|p

输出文件格式( custom tar plain text

-v, --verbose

详细信息模式,会显示备份时的信息

-f, --file=FILENAME

输出文件名

-b, --blobs

dump 文件中包含大对象

注: 1 ,在导出命令最后加上数据库名称

 

示例:

1,  导出 esa 数据库所有对象到 esa.backup 文件

pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "E:/Dl/esa.backup" esa

2,  导出 esa 数据库的 FM_STDEVENT FM_PRIMARYEVENT 表到指定目录的 esa_tb.backup

pg_dump.exe --host localhost --port 5432 --username postgres --format custom --verbose --file "E:/Dl/esa_tb.backup" --table "/"public/"./"fm_stdevent /"" --table "/"public/"./"fm_primaryevent/"" esa

 

导入命令: pg_restore  [OPTION]... [FILE]

查看使用帮助: pg_restore --help

主要参数解释:

关键字

说明(默认值)

-h, --host=HOSTNAME

数据库服务器 IP

-p, --port=PORT

数据库服务器端口号

-U, --username=NAME

用户名

-W, --password

密码

-d, --dbname=NAME

连接的数据库名

-v, --verbose

详细信息模式,会显示恢复时的信息

-a, --data-only

只导入数据,不导入结构

-t, --table=NAME

恢复指定名称的表

注: 1 ,在导入命令最后加上文件名

 

示例:

1,  导入 esa.backup 文件中 esa 数据库所有对象到 esa 数据库中

pg_restore.exe --host localhost --port 5432 --username postgres --dbname esa --verbose "E:/Dl/esa.backup"

2,  导入 esa.backup 文件中的 FM_STDEVENT 表到 esa 数据库中

pg_restore.exe --host localhost --port 5432 --username postgres --dbname test --data-only --table aaa --table fm_stdevent  --verbose "E:/Dl/esa.backup"

 

 

Sybase

Sybase 的图形化工具为 Sybase Central ,可通过 Sybase Central 执行创建数据库定义( DDL )和导入导出数据( BCP

BCP 工具只能进行数据的导入导出,不能进行数据库结构的导入导出(表定义不被导出)。

 

导出命令:

bcp [[db_name.]owner.]table_name [partition pname] out [filename]

查看使用帮助: bcp --help

主要参数解释:

关键字

说明(默认值)

-U username

登陆用户名

-P password

登陆用户密码

-S server

服务器名

-c

使用可见文本格式导出,不含 text,image 时采用

-n

使用本地格式(操作系统相关)导出,包含 text,image 时采用

-t

列终止符,列与列之间的分隔符

-r

行终止符,行与行之间的分隔符

-J

指定字符集

-T

指定 text image 的长度,默认为 32k ,超过 32k 截断

-Y

指定字符集转换在服务器中被禁用,而是在使用 bcp IN 时由 bcp 在客户端上执行。

 

示例:

1 ,导出本机 somc 数据库的 FM_STDEVENT 表到 esa.out

bcp somc.dbo.FM_STDEVENT out e:/dl/esa.out -c -t , -r /n -U sa -P -S

 

导入命令:

bcp [[db_name.]owner.]table_name [partition pname] in [filename]

查看使用帮助: bcp --help

主要参数解释:

关键字

说明(默认值)

-U username

登陆用户名

-P password

登陆用户密码

-S server

服务器名

-c

使用可见文本格式导出,不含 text,image 时采用

-n

使用本地格式(操作系统相关)导出,包含 text,image 时采用

-t

列终止符,列与列之间的分隔符

-r

行终止符,行与行之间的分隔符

-J

指定字符集

-T

指定 text image 的长度,默认为 32k ,超过 32k 截断

-Y

指定字符集转换在服务器中被禁用,而是在使用 bcp IN 时由 bcp 在客户端上执行。

 

示例:

1,  esa.out 文件中导入 FM_STDEVENT 表到本机 somc 数据库中

bcp somc.dbo.FM_STDEVENT in e:/dl/esa.out -c -t , -r /n -U sa -P -S -Y

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值