修改代码中的SQL语句,金沙js娱乐场官方网站:2.导出数据库对象

转换过程中的常见问题,修改代码中的SQL语句,Developer工具来实现创建表空间、创建数据库、备份数据库、还原数据库等操作,然后实现Oracle对象创建、导入数据等操作,Developer工具来实现创建表空间、创建数据库、备份数据库、数据导出等操作,我们必须考虑如何把Oracle的对象、表数据导出到Sql脚本中,Developer工具来实现创建表空间、创建数据库、备份数据库、数据导出等操作,我们必须考虑如何把Oracle的对象、表数据导出到Sql脚本中

数据库: Sql Server 2008, Oracle 9i

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

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

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

工具: Sybase PowerDesiner 12 试用版, PL/SQL Developer 7.1.5

1.数据库创建脚本

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

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

迁移主要有两个工作:

首先使用dba身份登录数据库。

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路径是我们要存放数据库数据的位置,因此要保证该路径有足够的空间和足够的访问权限,否则会失败的。

 

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

  1. 根据Sql Server数据库生成创建Oracle数据库的脚本

  2. 修改代码中的SQL语句

 

2、 导出数据库对象

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

金沙js娱乐场官方网站 1

 

1、 准备数据库创建脚本

?

  1. create tablespace whc_tbs datafile ‘E:\oracle\oradata\whcdb\whc.dbf’ size 100M;  
  2. –DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;   
  3. create user whc identified by whc default tablespace whc_tbs;  
  4.    
  5. grant connect,resource to whc;   
  6. grant dba to whc;  
  7. –Revoke dba from whc;  
  1. create tablespace whc_tbs datafile ‘E:\oracle\oradata\whcdb\whc.dbf’ size 100M;  
  2. –DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;  
  3. create user whc identified by whc default tablespace whc_tbs;  
  4.    
  5. grant connect,resource to whc;   
  6. grant dba to whc;  
  7. –Revoke dba from whc;  

其中–的注释语句是删除命名空间和移除DBA用户的权限的。

以上这些脚本是为了我们在新建一个表空间和Oracle数据库的时候使用的。

其中E:\oracle\oradata\whcdb\whc.dbf路径是我们要存放数据库数据的位置,因此要保证该路径有足够的空间和足够的访问权限,否则会失败的。

根据Sql Server数据库生成创建Oracle数据库的脚本

/*删除表空间*/
--DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

--建立数据文件
create tablespace qys_tbs datafile 'c:\datafile\qys.dbf' size 100M;

--建立用户
create user qys identified by qys default tablespace qys_tbs;

--授权connect resource权限给qys用户
grant connect,resource to qys;

--授权dba权限给用户
grant dba to qys;

/*移除dba权限*/
--Rovoke dba from qys;

3)导出表数据

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

金沙js娱乐场官方网站 2

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

 

2、 导出数据库对象

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

金沙js娱乐场官方网站 3

 

  1. 用PowerDesiner将Sql Server数据库反向工程生成物理数据模型

  2. 根据反向工程生成的物理数据模型创建逻辑模型

  3. 再根据逻辑模型生成Oracle数据库版本的物理模型

  4. 根据Oracle数据库版本的物理模型生成Oracle数据库创建脚本

  5. 按照Oracle命名规则和数据类型定义修改Oracle数据库创建脚本

  6. 在PL/SQL Developer中执行以检验其正确性

 

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

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

金沙js娱乐场官方网站 4

金沙js娱乐场官方网站 5

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

金沙js娱乐场官方网站 6

完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。

以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。

如果是Linux平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。

3)导出表数据

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

金沙js娱乐场官方网站 7

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

 

修改代码中的SQL语句

“c:\datafile”是我们存放数据文件的路径,要保留足够的空间以及读写权限,否则创建数据文件会失败。
数据文件、表空间、用户、表之间的关系如下图:



---在数据库新建立一张测试表
Create Table Tb
(
  ID   INT,
  NAME VARCHAR2(20)
)
--------插入测试数据
INSERT INTO Tb values(1,'逍遥侯');
INSERT INTO Tb values(2,'沈璧君');
INSERT INTO Tb values(3,'沈云飞');
INSERT INTO Tb values(4,'凤四娘');
INSERT INTO Tb values(5,'李小婉');
INSERT INTO Tb values(6,'白红莲');
commit;

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

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

金沙js娱乐场官方网站 8

金沙js娱乐场官方网站 9

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

金沙js娱乐场官方网站 10

完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。

以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。

如果是Linux平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。