plsql导入导出参数含义

一、导出
用PL/SQL Developer登陆数据库A。使用菜单栏->Tools->Export Tables,该工具会列出Orcale中用户有权限导出的所有表的列表,下方有三种不同的导出格式可供选择,下面一一介绍。

Tools of Export Tables
Tools of Export Tables

a) Oracle Export
这种方式导出的文件是dmp文件,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广。选项参数的设置说明(辛苦查了很多资料总结的,我认为比较重要的写得比较多):

Export - Oracle Export
Export – Oracle Export

Compress, import into one extent, 导出的同时合并碎块,尽量把数据压缩到一个EXTENT里,默认是Y.
Consistent, cross-table consistency, 交叉表一致性导出,默认是N。数据库的一致性要求在发起导出(即select)后,在漫长的导出过程期间,无论数据是否被改写或删除,导出的数据都不会变。如果把consistent设置成Y,这个一致性就从导出的这一张表扩大到了若干张表(由于主外键约束产生联系的所有表)。
Constraints, export constraints, 导出约束条件,默认是Y。
Direct, direct path, 默认是N,即使用SELECT来读取表中的数据。如果设为Y, Oracle会略过SQL语句处理引擎,直接从数据文件中读取数据,然后写入导出文件。但是资料显示如果表中包含某些特定的数据类型,比如大对象、大字段,不要开启此功能,ORACLE会自动切换到常规的导出方式,并在导出日志中记录。。
Grants, export grants,导出授权数据
Indexes, export grants,导出索引数据,默认是Y
Rows, export data rows,导出行数据,如果设为N,那么在导出文件中仅生成数据库对象的DDL,默认是Y
Triggers, export triggers,导出触发器
Buffer size, size of data buffer设置缓冲区大小
Where clause, 写入where语句,如此不会导出全表,而是只导出符合where条件的部分数据。
Output file, 导出dmp文件存放的位置。
b) SQL Inserts
这种方式导出为sql文件,文本文件。里面每条记录都以一条inser插入语句来表示,可用文本编辑器查看,通用性比较好,但效率很低下,适合小数据量导入导出。这个方式的参数设置比较好理解。选项参数的设置说明:

Export - SQL Inserts
Export – SQL Inserts

Drop tables, 导入数据前如果存在同名数据表,先drop掉
Create tables, 导入数据前先用create语句创建数据表
Truncate tables, 导入数据前先将数据表中的数据以truncate方式清空,truncate是清空数据的一种方式,没有日志,也不产生回滚数据,速度比delete快,但是一旦删除无法恢复数据。
Delete tables, 导入数据前先将数据表中的数据以delete方式清空,有日志记录,因此若是误删除后,数据还可以恢复。
Disable triggers, 在导入数据前禁用所有触发器,导入后再启动它们,此选项可以提升导入性能
Disable foreign key constraints, 在导入数据前禁用所有外键约束,导入后再启动它们,此选项可以提升导入性能
Include storage, SQL文件中包含storage相关语句,如表空间名字、初始大小等等。由于不同数据库的表空间设置可能不同,因此这个选项不一定要选。
Include privileges, 包含对其他用户的权限的赋权语句。
Commit every ____ records, 设置每过多少条记录commit一次。
Where clause, 只有符合where条件的部分数据被导出。
Output file, 导出sql文件存放的位置。
c) PL/SQL Developer
这种方式导出为pde文件,.pde为Pl/sql developer自有的文件格式,可选择数据压缩,这样导出的文件比前两者小很多。只能用Pl/sql developer自己导入导出。选项参数的设置说明:

Export - PL/SQL Developer
Export – PL/SQL Developer

Where clause, 只有符合where条件的部分数据被导出。
Compress file, 压缩导出的pde文件。当数据表有大字段(如BLOB等)不建议压缩。
Include storage, 在创建数据表时候会包含storage相关的语句,如表空间名字、初始大小等。
Include privileges, 包含对其他用户的权限的赋权语句。
d) 三种方式比较
经过大数据表的导出实验,同样的数据表导出后,pde文件体积是dmp文件的45%~50%,而sql文件非常庞大,因此pde最节省空间。效率上sql文件方式耗时远长于其他两种方式,pde和dmp未做比较。

二、导入
用PL/SQL Developer登陆数据库B。使用菜单栏->Tools->Import Tables,该工具会列出Orcale中用户有权限导出的所有表的列表,下方有三种不同的导出格式可供选择,和导出工具一一对应,下面一一介绍。

a) Oracle Import
Import - Oracle Import
Import – Oracle Import

Analyze, 执行转储文件(dump file)的analyze语句。导入前先用analyze分析得到一些统计信息,从而有可能优化SQL执行的性能。
Commit, 若设成Y,则每满一个Buffer, commit一次(如果表含有LONG, LOB, BFILE, REF, ROWID, UROWID, DATE类型字段,以行为单位),如果设成N,则整张表导入完后再commit。
Constraints, 导入一致性约束
Grants, 导入赋权语句
Ignore, 忽略创建错误。即导入前表已经存在,这时候忽略创建,继续导入数据而不报错。
Indexes, 导入索引数据
Rows, 导入记录
Show, 列出文件内容
Buffer Size, 这时缓冲区大小
From User, To User, 导入时变更用户
Import file, 需要导入的dmp文件。
b) SQL Import
Import - SQL Inserts
Import – SQL Inserts

Use Command Window, 用内置的命令行执行SQL脚本命令和语句。
Use SQL Plus, 用SQLPlus 执行SQL语句,下方可以设置SQL*Plus程序的位置,默认在Oracle目录下能找到。
Import file, 需要导入的dmp文件。
c) PL/SQL Developer
Import - PL/SQL Developer
Import – PL/SQL Developer

Drop tables, 导入数据前如果存在同名数据表,先drop掉
Create tables, 导入数据前先用create语句创建数据表
Truncate tables, 导入数据前先将数据表中的数据以truncate方式清空,truncate是清空数据的一种方式,没有日志,也不产生回滚数据,速度比delete快,但是一旦删除无法恢复数据。
Delete records, 导入数据前先将数据表中的数据以delete方式清空,有日志记录,因此若是误删除后,数据还可以恢复。
Disable triggers, 在导入数据前禁用所有触发器,导入后再启动它们,此选项可以提升导入性能
Disable foreign key constraints, 在导入数据前禁用所有外键约束,导入后再启动它们,此选项可以提升导入性能
Commit every ____ records, 设置每过多少条记录commit一次。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PL/SQL中,可以使用一些工具和语句来导入导出数据。 1. 使用Oracle Data Pump实用工具进行导入导出数据:通过使用Data Pump实用工具,可以将数据导出到一个文件中,然后将该文件导入到另一个数据库中。可以使用以下命令导出数据: ``` expdp 用户名/密码@数据库 实例名 DIRECTORY=导出目录 DUMPFILE=导出文件名.dmp ``` 然后可以使用以下命令将数据导入到另一个数据库中: ``` impdp 用户名/密码@数据库 实例名 DIRECTORY=导入目录 DUMPFILE=导出文件名.dmp ``` 2. 使用SQL Developer进行导入导出数据:SQL Developer是Oracle官方提供的一个图形化界面工具,可以方便地导入导出数据。在SQL Developer中,可以使用导入导出向导来执行这些操作。可以通过以下步骤导出数据: - 在导航栏中选择"导出数据",然后选择要导出的表或查询。 - 选择导出选项,如目标文件类型、导出结果文件的位置等。 - 运行导出操作。 将数据导入到另一个数据库中,可以使用相似的步骤,选择"导入数据"并选择要导入的文件。 3. 使用PL/SQL语句进行导入导出数据:在PL/SQL中,可以使用INSERT和SELECT语句来导出导入数据。使用SELECT语句来选择要导出的数据,并将其插入到一个表中。例如: ```sql INSERT INTO 导出表 SELECT * FROM 数据源表; ``` 这将选择数据源表中的所有行,并将其插入到导出表中。类似地,可以使用INSERT和SELECT语句将数据从一个表导入到另一个表中。 总结起来,PL/SQL可以使用Oracle Data Pump实用工具、SQL Developer和PL/SQL语句来导入导出数据。具体的方法取决于具体的需求和环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值