本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html

Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便、快捷的操作,使得我们不再为Oracle本身丑陋、难用的UI而抱怨。由于我们一般都是建建表、查查数据的操作居多,较少会考虑系统的整个Oracle的完整备份操作。但是在我们一些发布操作中,我们必须考虑如何把Oracle的对象、表数据导出到Sql脚本中,并且把创建Oracle表空间、创建Oracle数据库的操作也放到脚本中,这样我们就方便快速还原或者部署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;

其中--的注释语句是删除命名空间和移除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平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。

主要研究技术:代码生成工具、会员管理系统、客户关系管理软件、病人资料管理软件、Visio二次开发、酒店管理系统、仓库管理系统等共享软件开发 专注于Winform开发框架Web开发框架、WCF开发框架、微信门户开发框架的研究及应用。   转载请注明出处: 撰写人:伍华聪  http://www.iqidi.com      

最新文章

  1. win10上部署Hadoop-2.7.3——非Cygwin、非虚拟机
  2. browserify压缩合并源码反编译
  3. 转载:Android横屏竖屏切换的问题
  4. Facade(外观)-对象结构型模式
  5. JS控制checkbox全选、取消全选、删除功能的代码贴出来。。
  6. symfony在模板中生成url
  7. expression encoder 4 安装 出现“已经安排重启您的计算机
  8. 【python之旅】python的模块
  9. 限制窗口拉伸范围(二)——OnSizing
  10. 使用python的Flask实现一个RESTful API服务器端
  11. [SOJ]寻找第k大数字(numberk)
  12. MYSQL主从同步故障一例及解决过程
  13. Mesos架构简介
  14. ++i,i++和i += 1的区别
  15. mysql 返回自增id
  16. Java内存模型—JMM
  17. C++高效安全的运行时动态类型转换
  18. linux知识汇总
  19. 硬木地板 JDFZ1667
  20. 微服务(入门四):identityServer的简单使用(客户端授权)

热门文章

  1. task 限制任务数量(转自msdn)
  2. C#更改win7系统时间的代码,以及为什么更改不成功
  3. Linux修改命令提示符(关于环境参量PS1)
  4. Python学习之Python简介
  5. angularjs作用域
  6. ES6新特性(函数默认参数,箭头函数)
  7. javascript宿主对象之window.navigator
  8. SHAREPOINT 工作流审批权限问题
  9. andriod 动态创建控件
  10. UWP开发中的流媒体