11 oracle工具
这篇文章描述了数据传输,数据维护以及数据管理的oracle的数据库工具。
这篇文章包含下面的内容:
*oracle工具的介绍
*数据泵导出和泵导入介绍
*数据泵应用程序接口介绍
*元数据应用程序接口介绍
*SQL*Loader介绍
*外表的介绍
*日志挖掘介绍
*DBVERIFY 工具介绍
*DBNEWID工具介绍
Oracle工具的介绍
Oracle数据库工具让你执行下面的任务:
*采用数据泵导出和泵导入工具可以将数据和元数据从一个数据库高速的移动到另一个数据库;
*采用元数据应用程序接口工具为数据库对象抽取和操纵完整的元数据的表示;
*采用数据泵应用程序接口工具为一个网站移动数据的所有或者部分从一个数据库到另一个数据库;
*采用SQL*LOADER从操作系统文件中或者采用外表工具从外部的资料中加载数据到oracle数据库表中;
*使用日志挖掘工具通过一个SQL语句接口查询重做日志文件;
*采用DBVERIFY 工具对一个离线的数据库(例如:备份数据库)或者数据文件执行物理数据结构的完整性检查;
*采用DBNEWID工具为一个运行的数据库维护内部的数据库标识(DBID)和数据库名(DBNAME);
数据泵导出和泵导入介绍
数据泵技术使得能够将数据和元数据从一个数据库高速移动到另一个数据库。数据泵导出和导入技术是oracle数据移动工具中的基本技术。
数据泵使得你可以定义一个任务是否应该移动数据或者元数据的集合。这种要求可以采用数据过滤和元数据过滤的方法可以做到,通过设置导出和导入的参数则可以实现。
数据泵导出
数据泵导出(在这之后为了方便引用可以简称为导出)是一个将数据和元数据卸载存放到一个叫作dump文件的操作系统文件的文件集合中的工具。这个dump文件集合可以被移动到其他的系统中去,然后采用数据泵导入工具将数据加载到另一个系统中去。
dump文件集合是由一个或者多个包含表数据,数据库对象的元数据以及控制信息的次哦按文件组成。这些文件是按照所有者,二进制的格式被写,这些文件只能被数据泵导入工具从中读取信息。在导入操作的过程中,数据泵导入工具使用这些文件来为dump文件集合中的每个数据库对象定位。
数据泵导入
数据泵导入(简称为导入)将一个导出的dump文件集合加载到目标系统中的工具。这些文件是由一个或者多个包含表数据,数据库对象的元数据,以及控制信息的磁盘文件组成。这些文件是按照所有者,二进制的格式被写。
导入操作也被用来没有任何干涉文件的将来自源数据库中的数据直接加载到目标数据库中去,这种导入允许导出和导入操作可以同时运行,减少整体的流逝时间。这种就是大家所知道的网络导入。
导入也允许你看到导入任务将要执行的所有的SQL DDL,不需要实际的去执行这些SQL语句。想要看到SQL DDL语句可以通过设置导入参数SQLFILE来执行导入操作。
数据泵应用程序接口介绍
数据泵应用程序接口提供一种高速传输机制,这个机制将一个网站的数据和元数据的所有或者部分从一个数据库移动到另一个数据库。为了为了使用数据泵应用程序接口,你可以使用在DBMS_DATAPUMP包中提供的存储过程。数据泵导出和导入工具是基于数据泵应用程序接口的。
元数据的应用程序接口介绍
元数据的应用程序接口为你提供了一个手段来做下面的事情:
*以XML的形式获取一个对象的元数据;
*以各种方式传输XM,包括将它传输给SQL DDL;
*提交XML来重新创建通过获取抽取到的对象;
为了使用元数据应用程序接口,你可以使用DBMS_DATAPUMP包中所提供的存储过程。为了使用元数据的应用程序接口,数据库中的每个实体被模块化为属于一个对象类型的一个对象。比如:表scott.emp是一个对象并且它的对象类型是表。当你取一个对象的元数据时,你必须指定该对象的类型。
SQL*LOADER介绍
SQL*LOADER将从外部文件中的数据加载到oracle数据库中表中。它有强大的数据分析引擎这样对在数据文件中的数据的格式只有很少的限制。你可以使用SQL*LOADER来实现下面的功能:
*在同一个加载数据的会话中可以加载来自多个数据文件的数据;
*在同一个加载数据的会话中可以将数据加载到多张表中;
*定义数据的字符集;
*可以有选择的加载数据(你可以加载基于记录值的记录);
*可以使用SQL函数在加载数据之前操纵数据;
*在特定的列上产生唯一的序列键;
*使用操作系统的文件系统来访问这些文件;
*加载来自磁盘,磁带,或者是指定的管道中的数据;
*产生复杂的错误报告,这些错误报告信息极大地帮助错误的定位;
*任意地加载复杂的对象-关系数据;
*对于加载LOB类型和集合类型的数据采用二次文件来帮助加载;
*使用或者传统的或者直接的路径加载。采用传统路径加载是非常灵活的,而直接路径加载提供较高的加载性能;
一个典型的SQL*LOADER会话将控制SQL*LOADER的行为的控制文件和一个或者多个数据文件作为输入。SQL*LOADER的输出是一个数据库(数据被加载的数据库),一个日志文件,一个坏文件,潜在地,也有一个丢弃文件。
外表使用的介绍
外表使用的特性对于存在的SQL*LOADER的功能性的一个补充。它让你访问外表的数据就好象访问在数据库中一张表的数据。外表可以采用ORACLE_DATAPUMP访问驱动程序来将数据写进外表。数据操纵语句(DML)以及索引的创建语句是不允许写入到外表中的。因此,SQL*LOADER工具在表需要额外的索引信息的数据加载情形下是一个更好的选择。
日志挖掘的介绍
日志挖掘使你通过SQL接口查询重做日志文件。对用户数据或者数据库字典的所有变更被记录在oracle的重做日志文件中。因此,重做日志文件中包含了执行恢复操作时恢复必要的信息。
日志挖掘功能可以通过命令行接口或者通过oracle的日志挖掘图形界面方式来运行。日志挖掘视图是oracle企业管理器的一部分。
下面是包含在重做日志文件中的数据的一些潜在用途:
*当一个数据库会发生一个逻辑错误时的精确性,例如:应用程序的错误。这个精确性使你可以恢复到数据库在被破坏之前的状态;
*检测并且在任何可能的时候,纠正比逻辑错误更有可能发生的用户的错误。用户错误包括因为在where条件中由于不正确的值而删除错误的行,用错误的值更新错误的行,删除错误的索引等等。
*决定你将不得不在事务级别上采取执行精细粒度的恢复的行为。如果你完全理解并且考虑存在的依赖性,执行一个基于表的撤消操作来回滚一些变更操作的集合是可能的。
*通过趋势分析来做性能优化和容量计划。你可以决定哪些表会最经常被更新和插入。这些信息提供了对磁盘访问数量的统计的一个历史视角,这些历史信息可以被用来做性能优化的目的;
*性能事后审计。重做日志包含了所有的来跟踪任何运行在数据库上的DML以及DDL语句的必要的信息,并且按照它们运行的顺序和谁执行这些语句的顺序来排列;
DBVERIFY 工具介绍
DBVERIFY是履行一个物理数据结构完整性检查的一个外部命令。它可以用于离线的数据库或者在线的数据库环境中,以及也可以用于备份文件上。当你在恢复数据库之前必须确保一个备份数据库(或者备份文件)是有效的时或者当你遇到数据受损问题需要一个诊断错误的帮助时,你可以主要的使用DBVERIFY工具。
因为DBVERIFY可以在一个离线的数据库上也可以执行,并且完整性检测也是非常的快的。
DBVERIFY检测受限于缓存管理的数据块(即数据块)。因为DBVERIFY工具只适合于检测数据文件,对控制文件或者重做日志将不起作用。
对于DBVERIFY有两个命令行接口。采用第一个接口,你可以指定一个单独的数据文件张的磁盘块来做检测。采用第二个接口,你可以指定一个段来做检测。
DBNEWID工具介绍
DBNEWID是一个能够改变内部的,唯一的一个正在运行的数据库标识(DBID)和数据库名字(DBNAME)的数据库工具。DBNEWID工具能够让你改变下面的任何一种情况:
*只改变数据库的标识(DBID);
*只改变数据库的名字(DBNAME);
*数据库的标识(DBID)和数据库的名字(DBNAME)都做改变;
因此,你可以手动的创建一个数据库的备份并且通过重新创建控制文件来给它一个新的数据库名字(DBNAME)和数据库标识(DBID),并且你可以在同一的RMAN仓库中将一个种子数据库和一个手动的复制的数据库登记在一起。