您的位置:首页 > 数据库 > Oracle

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

2009-12-26 10:15 423 查看
[b]Oracle

[/b]


PostgreSQL



Sybase

[b]数据库

导入导出命令说明和示例
[/b]

文档控制


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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: