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

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

本文转自博客园伍华聪的博客,原文链接:Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作,如需转载请自行联系原博主。

时间: 2024-10-23 15:42:35

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

Oracle Data Guard创建物理Standby数据库

Oracle Data Guard创建物理Standby数据库 创建物理备库 机器名 a1 a2 IP: 192.168.1.10 192.168.1.20 Net_Name a1 a2 SID a1 a2 DB_UNIQUE_NAME a1 a2 注:主节点上创建数据库a1,备节点上只安装oracle软件不创建任何数据库; 1.配置listener.ora 主节点listener.ora: SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBN

深入浅析Oracle数据库管理之创建和删除数据库_oracle

Oracle数据库的数据文件(扩展名为DBF的文件)是用于保存数据库中数据的文件,系统数据.数据字典数据.临时数据.索引数据.应用数据等都物理地存储在数据文件中.用户对数据库中数据的操作,例如数据的插入.删除.修改和查询等,其本质都是对数据文件进行操作.所有数据文件占据空间的大小决定了数据库容量的大小. 一.数据库管理概述 在完成Oracle软件安装后,DBA就应该对组织和管理数据库负责任,其主要任务是: (1)启动和关闭数据库: (2)创建数据库: (3)删除数据库: (4)调整初始化参数:

oracle数据库中expdp和impdp导出导入

expdp和impdp是oracle从10g开始新增加的导出.导入功能.名称叫数据泵. expdp:Data Pump Export impdp:Data Pump Import 一.expdp.impdp和exp.imp的区别 expdp.impdp: 1.可以导入导出单个或多个数据库.用户(schema).表空间.表. 2.强大的数据过滤功能. 3.速度快. 4.不支持XMLType数据. exp.imp: 1.支持XMLType数据. 2.不支持FLOAT和DOUBLE数据类型. 3.功能

SQL Server数据库重命名、数据导出的方法说明_MsSql

第一个问题是重命名数据库问题:在企业管理器中是无法直接对数据库重命名的,只能在查询分析器中操作 复制代码 代码如下: create proc killspid (@dbname varchar(20))         as         begin         declare     @sql     nvarchar(500),@temp   varchar(1000)     declare     @spid     int         set     @sql='declar

sql2005 数据库转为sql2000数据库的方法(数据导出导入)_mssql2005

假如你用SQL2005做一个数据库备份,然后把这个备份到装有SQL2000的服务器去恢复,是恢复不了,同样,你把SQL2005数据库附加到SQL2000,也是失败,怎么办,见如下 1. 生成for 2000版本的数据库脚本 2005 的manger studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 -- 右键要转到2000的库 -- 任务 -- 生成脚本 -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2

SQL Server数据库重命名、数据导出的方法说明

第一个问题是重命名数据库问题:在企业管理器中是无法直接对数据库重命名的,只能在查询分析器中操作 复制代码 代码如下:create proc killspid (@dbname varchar(20))         as         begin         declare     @sql     nvarchar(500),@temp   varchar(1000)     declare     @spid     int         set     @sql='declare

memo 导入数据库-DEMO中的数据如何导入好TRzDBGrid 中。求大神指导

问题描述 DEMO中的数据如何导入好TRzDBGrid 中.求大神指导 DEMO中的数据如何导入到TRzDBGrid 中.求大神指导 memo中的数据 0,衣服,5,5 db数据库字段 idx Name Act LOok 代码改怎么写,求大神指导. 解决方案 求大神指导c++

DB2 数据库创建、表的ixf文件导出导入示例_DB2

1.创建数据库 [db2inst1@localhost ~]$ db2set db2codepage=1208 #设置编码 [db2inst1@localhost ~]$ db2 create database wms automatic storage yes using codeset UTF-8territory cn pagesize 32768 #创建wms数据库 //指定db2数据库安装目录 db2 create db xxdb on /app/dbdata using CODEPA

Mysql主数据库+备份数据库部署教程

本文说的mysql主备是指单向.异步的数据复制.可以是一个主.多个备.这样做的好处显而易见:有利于健壮性.速度和系统管理.备用数据库可以做为只读查询和备份的机器,减轻主用数据库的负担. 实施前提: 主用数据库的配置里至少有: [mysqld] log-bin=mysql-bin server-id=1 建议主备的数据库版本一致. 我所知道的最简单的实施方式(不需要停主库,甚至不需要长时间地禁止主库写入): 主库操作: 在主库里建一个复制用的用户: grant replication slave