如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间、创建数据库、备份数据库、还原数据库等操作,然后实现Oracle对象创建、导入数据等操作,方便我们快速了解、创建所需要的部署Sql脚本和数据库操作。
1.数据库创建脚本
首先使用dba身份登录数据库。
/*删除表空间*/ --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;
“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;
2.导出数据库对象
在PL/SQL Developer的菜单Tools=>Export User Objects中出来一个对话框界面,然后框选要到处的Oracle 数据库对象,包括表,序列,存储过程,视图,函数等等,并指定导出的文件名称,如下操作。
3.导出表数据
导出表结构和其他对象后,我们下一步就是把数据库的表数据进行导出,PL/SQL Developer工具支持导出数据到PL/SQL数据库脚本中,如下所示。这样导出的脚本,我们可以在PL/SQL Developer工具导入或者自己通过Sql plus 工具进行导入。在PL/SQL Developer的菜单Tools=>Export Tables中出来一个对话框界面
导出的数据全部为INSERT INTO SQL语句。
4.导入数据库对象及数据
先Drop table Tb;
完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。
以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。