您的位置:首页 > 数据库

PLSQL 导入导出数据库

2015-05-12 18:01 288 查看

导出步骤:
1 tools ->export user object 选择选项,导出.sql文件
2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件
导入步骤:
1 tools->import tables->SQL Inserts 导入.sql文件
2 tools->import talbes->Oracle Import然后再导入dmp文件
数据库的导入导出成功
 
Tools->Export User Objects导出的是建表语句(包括存储结构)
Tools->Export Tables里面包含三种导出方式:
三种方式都能导出表结构以及数据,网上说三种方法有区别,如下:
Oracle Export,Sql Insert,pl/sql developer

第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广

第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下:

table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead),可以用第一种和第三种方式导出。

第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出;不能用编辑器查看。
个人比较中意第二种方法,毕竟是SQL文件嘛,自己还可以看,想改也方便
 
操作选项

一般一些选项选择看字面意思就可以了,重要的上面已经写了(主要include privilege只是包含一些建表信息,并不包括存储过程信息,话说我被这个选项骗了……还是忽略它吧……)
选择drop tables信息中会包含删表语句(注意:选了drop tables就已经默认选了create tables 和 truncate tables),create tables是建表信息,truncate tables和delete tables都是再再插入数据前先删除原有的信息,这两个是二选一,但是truncate tables效率高很多。
where clause可以输入很多命令,比如rownum < 10000只导出每个表的前10000行,等等信息,具体在查信息。
 
导出数据到excel文件:

  选中数据表--query data--选中要导出的数据--右键copy to excel

  excel数据导入到数据库:

  1.在Excel中准备好要导入的数据。具体操作:在Excel中,把第一列设置为空列,第二列以后的列应与要导入的数据表的字段相对应。

  2.登录PLSQL Developer,找到需要导入数据的数据库表后,点击右键--edit data,进入了编辑此表的数据对话框,并点击最左侧选中一空行。

  3.copy Excel表中的数据记录,将数据粘贴到上步中PLSQL Developer显示的表列中。

  4.点击PLSQL Developer中的对号按钮进行Post。

  注意:PLSQL Developer不认识“-” ?


Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

本文主要介绍如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间、创建数据库、备份数据库、数据导出等操作,然后实现Oracle对象创建、导入数据等操作,方便我们快速了解、创建所需要的部署Sql脚本和数据库操作。


1、 准备数据库创建脚本

create tablespace whc_tbs datafile 'E:\oracle\oradata\whcdb\whc.dbf' size 100M;  
--DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;  
create user whc identified by whc default tablespace whc_tbs;  
grant connect,resource to whc;   
grant dba to whc;  
--Revoke dba from whc;  

create tablespace whc_tbs datafile 'E:\oracle\oradata\whcdb\whc.dbf' size 100M;  
--DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;  
create user whc identified by whc default tablespace whc_tbs;     
grant connect,resource to whc;   
grant dba to whc;  
--Revoke dba from whc; 
----------------------------------------------------------

其中--的注释语句是删除命名空间和移除DBA用户的权限的。
以上这些脚本是为了我们在新建一个表空间和Oracle数据库的时候使用的。
其中E:\oracle\oradata\whcdb\whc.dbf路径是我们要存放数据库数据的位置,因此要保证该路径有足够的空间和足够的访问权限,否则会失败的。


2、 导出数据库对象

在PL/SQL Developer的菜单Tools=>Export User Objects中出来一个对话框界面,然后框选要到处的Oracle 数据库对象,包括表,序列,存储过程,视图,函数等等,并指定导出的文件名称,如下操作。



 


3)导出表数据

 导出表结构和其他对象后,我们下一步就是把数据库的表数据进行导出,PL/SQL Developer工具支持导出数据到PL/SQL数据库脚本中,如下所示。这样导出的脚本,我们可以在PL/SQL Developer工具导入或者自己通过Sql plus 工具进行导入。



至此,我们就已经完成了三种脚本了,包括创建数据库空间和数据库脚本、创建Oracle数据库对象(表、存储过程、视图、序列等)、创建导入数据的脚本,这样三种合一,就是一个完整的数据库了。最后一步就是我们如何导入数据库对象和数据的问题了。
 


4)导入数据库对象及数据

导入数据库对象和数据的操作一样,都可以通过Import Tables操作实现,我们指定刚才上面两步创建的数据库脚本,执行即可再新的环境中创建数据库对象和数据库数据了。如下所示。





执行的数据界面如下所示。



完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。
以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。
如果是Linux平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: