oracle 11g expdp impdp使用详细

2023-10-07 17:47
-->

11G中有一个新功能。当表没有数据时,不分配段以节省空间。

解决方法如下:

2。 Oracle10g及以后提供了expdp/impdp工具,也可以解决这个问题

1。如何使用导出expdp工具:

首先创建目录--expdir(导入和导出都可以,如果对应的E:/exp文件夹不存在,需要手动创建)

导出语法:

如果只想导出一些表,可以使用include

C:\Users\ganjh>expdp eas/kingdee@nskf_localhost schemas=eas dumpfile=expdp2.dmp
directory=expdir include=table:\"like \'CT%\'\"

2。如何使用导入impdp工具:

首先创建目录--data_bak

导入语法:

C:\Users\ganjh>impdp eas/kingdee@nskf_localhost 目录=db_bak dumpfile=EXPDP.
DMP FULL=y;

从一个用户导出 expdp 并将 impdp 导入到另一用户

如果要导入的用户已存在:
1。导出用户 expdp user1/pass1 目录=dumpdir dumpfile=user1.dmp
2。导入用户impdp user2/pass2目录=dumpdir dumpfile=user1.dmp REMAP_SCHEMA =user1:user2 EXCLUDE=USER full=y;

如果您要导入的用户不存在:
1。导出用户 expdp user1/pass1 目录=dumpdir dumpfile=user1.dmp
2。导入用户impdp system/passsystem目录=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 full=y;
3. user2 将自动创建。其权限和表空间与user1相同。但此时 user2 无法登录,必须更改 user2 的密码。

------------------------------------------------------------ --- ----------Linux环境------------------------------------ ------ ----------------------------------

Oracle11g中,exp默认无法导出空表。使用传统的exp和imp来迁移异构平台数据库会很麻烦。但是,expdp 和 impdp 可用于迁移。

将 64 位 windows 2003 Oracle11gR2 数据库迁移到 64 位 Linux redhat 在 Enterprise 5 中,您可以使用 expdp 和 impdp 来迁移网格数据。

例如:Windows为服务器A,Linux为服务器B,数据库用户为test。将服务器A的数据迁移到服务器B。

在服务器A上操作:

1、

SQL> 创建目录 expdp_dir 为 'D:\mzl\backup ';

SQL> 授予对目录 expdp_dir 的读、写权限以进行测试;

2。在windows目录下创建目录D:\mzl\backup

3。在DOS命令窗口中导出:

expdp 测试/测试 DIRECTORY=expdp_dir DUMPFILE=test.dmp 日志文件=testexpdp.log

在服务器B中操作:

4。 SQL> 创建目录 impdp_dir 作为 '/home/Oracle/impdp_dir';

SQL> 授予对目录impdp_dir 的读、写权限以进行测试;

1。系统中需要有/home/oracle/impdp_dir目录,并且对impdp_dir目录必须有读写权限。

(chmod 777 impdp_dir)

5。使用ftp将服务器A导出的数据上传到服务器B的/home/oracle/impdp_dir目录。

在服务器A中配置服务器B的服务器名称,并在服务器A中导入数据。

6。在DOS命令窗口中导出:

imppdp 测试/test@B_database DIRECTORY=impdp_dir DUMPFILE=test.dmp 日志文件=testimpdp.log

(这里注意大小写,如果test.dmp在Linux中是大写,必须改为大写,Linux区分大小写)

11G中有一个新功能。当表没有数据时,不分配段以节省空间。

解决方法如下:

2。 Oracle10g及以后提供了expdp/impdp工具,也可以解决这个问题

1。如何使用导出expdp工具:

首先创建目录--expdir(导入和导出都可以,如果对应的E:/exp文件夹不存在,需要手动创建)

导出语法:

如果只想导出一些表,可以使用include

C:\Users\ganjh>expdp eas/kingdee@nskf_localhost schemas=eas dumpfile=expdp2.dmp
directory=expdir include=table:\"like \'CT%\'\"

2。如何使用导入impdp工具:

首先创建目录--data_bak

导入语法:

C:\Users\ganjh>impdp eas/kingdee@nskf_localhost 目录=db_bak dumpfile=EXPDP.
DMP FULL=y;

从一个用户导出 expdp 并将 impdp 导入到另一用户

如果要导入的用户已存在:
1。导出用户 expdp user1/pass1 目录=dumpdir dumpfile=user1.dmp
2。导入用户impdp user2/pass2目录=dumpdir dumpfile=user1.dmp REMAP_SCHEMA =user1:user2 EXCLUDE=USER full=y;

如果您要导入的用户不存在:
1。导出用户 expdp user1/pass1 目录=dumpdir dumpfile=user1.dmp
2。导入用户impdp system/passsystem目录=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 full=y;
3. user2 将自动创建。其权限和表空间与user1相同。但此时 user2 无法登录,必须更改 user2 的密码。

------------------------------------------------------------ --- ----------Linux环境------------------------------------ ------ ----------------------------------

Oracle11g中,exp默认无法导出空表。使用传统的exp和imp来迁移异构平台数据库会很麻烦。但是,expdp 和 impdp 可用于迁移。

将 64 位 windows 2003 Oracle11gR2 数据库迁移到 64 位 Linux redhat 在 Enterprise 5 中,您可以使用 expdp 和 impdp 来迁移网格数据。

例如:Windows为服务器A,Linux为服务器B,数据库用户为test。将服务器A的数据迁移到服务器B。

在服务器A上操作:

1、

SQL> 创建目录 expdp_dir 为 'D:\mzl\backup ';

SQL> 授予对目录 expdp_dir 的读、写权限以进行测试;

2。在windows目录下创建目录D:\mzl\backup

3。在DOS命令窗口中导出:

expdp 测试/测试 DIRECTORY=expdp_dir DUMPFILE=test.dmp 日志文件=testexpdp.log

在服务器B中操作:

4。 SQL> 创建目录 impdp_dir 作为 '/home/Oracle/impdp_dir';

SQL> 授予对目录impdp_dir 的读、写权限以进行测试;

1。系统中需要有/home/oracle/impdp_dir目录,并且对impdp_dir目录必须有读写权限。

(chmod 777 impdp_dir)

5。使用ftp将服务器A导出的数据上传到服务器B的/home/oracle/impdp_dir目录。

在服务器A中配置服务器B的服务器名称,并在服务器A中导入数据。

6。在DOS命令窗口中导出:

imppdp 测试/test@B_database DIRECTORY=impdp_dir DUMPFILE=test.dmp 日志文件=testimpdp.log

(这里注意大小写,如果test.dmp在Linux中是大写,必须改为大写,Linux区分大小写)

  1. 创建临时表空间 EAS_T_NSKFTEST_STANDARD tempfile 'F:\oradata\oradata\orcltest\EAS_T_NSKFTEST_STANDARD' 大小 500M
  2. 自动扩展下一个 50M maxsize 2048M 扩展管理本地;
  3. 创建表空间EAS_D_NSKFTEST_STANDARD数据文件'F:\oradata\oradata\orcltest\EAS_D_NSKFTEST_STANDARD'大小2048M
  4. 自动扩展下一个 100M maxsize 5000M 扩展管理本地;
  5. 创建临时表空间 EAS_D_NSKFTEST_TEMP2 临时文件 'F:\oradata\oradata\orcltest\EAS_D_NSKFTEST_TEMP2' 大小 500M
  6. 自动扩展下一个 50M maxsize 2048M 扩展管理本地;
  7. 创建金蝶默认表空间EAS_D_NSKFTEST_STANDARD临时表空间EAS_T_NSKFTEST_STANDARD标识的用户nskftest;
  8. 将连接、资源、dba 授予 nskftest;
  9. -->