介绍几个Oracle本身就带的优秀的查看SQL执行计划的工具。
1.PLAN_TABLE。PLAN_TABLE是一个表,可以用来存放解释执行计划信息。数据库刚安装的时候并没有这个表,而是需要运行$ORACLE_HOME/rdbms/admin/utlxplan.sql或者
ORACLE_HOMErdmbsutlxplan.sql来创建。创建完执行计划表之后,就可以在SQLPLUS中运行SET AUTOTRACE ON,然后再运行想要查看执行计划的SQL语句就可以了。如果只想查看执行计划,而不看具体的查询返回的数据,可以用SET AUTOTRACE TRACEONLY。这两个方法都是要求语句真正执行一遍,可能速度很慢,如果只想看ORACLE是采用什么执行计划,而不真正执行语句,可以使用explain plan命令:具体如下:
Explain plan {set statement_id='<your ID>'}
{into table <table name>}
for <SQL statement>
上面的语句运行后,会在plan_table或者指定的表中存放sql语句的执行计划。可以用下面的语句来查看执行计划:
set pagesize 9999;
select lpad(' ',2*(level-1))||operation operation,options,
object_name,position from plan_table where
statement_id='statement_id';
2.TKPROF工具
TKPROF工具用来跟踪SQL执行计划、执行细节等内容的一个工具软件。该软件对通过设置了SQL_TRACE=TRUE而生成的跟踪文件进行格式化,使之成为可以理解的文件,包括语句执行信息。查看TKPROF帮助可以单独使用该命令就可以列出这个程序的版主信息了。
SQL_TRACE可以在当前SESSION中设置:ALTER SESSION SET SQL_TRACE=TRUE,也可以在其他的会话中设置。如果想在其他的会话中设置,可以用DBMS_SYSTEM的SET_SQL_TRACE_IN_SESSION函数,也可以用DBMS_SUPPORT.START_TRACE_IN_SESSION函数。设置好之后,就可以让相应的程序运行一些语句或者正常工作,ORACLE就会在user_dump_dest下生成跟踪文件。跟踪结束后,应该结束跟踪。DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION函数提供结束跟踪功能;或者使用DBMS_SUPPORT.STOP_TRACE_IN_SESSION来结束跟踪。注意,DBMS_SUPPORT并没有默认安装,为了使用该包,需要运行/rdbms/admin/dbmssupp.sql和/rdbms/admin/prvtsupp.plb,而且这两个包的使用都应该在SYS模式下。
分享到:
相关推荐
为了使用该包,我们需要先在 sys 用户下编译该文件,即执行 SQL 命令:@/ORACLE_HOME/rdbms/admin/dbmsrand.sql。这将生成一个 dbms_random 程序包,并生成公有同义词,并授权给所有数据库用户有执行的权限。 接...
- **SQL*Loader**:Oracle自带的批量加载工具,可以快速将数据从文本文件导入到Oracle表中。需编写控制文件定义数据格式和目标表结构。 - **PL/SQL程序**:通过编写存储过程或触发器,直接在Oracle数据库内部处理...
源码可能是指用于执行抽取操作的SQL脚本或程序代码,而工具则可能是指Oracle自带的SQL*Plus,或者是像PL/SQL Developer、Toad等第三方数据库管理工具。 在Oracle中,获取所有表的元数据信息可以通过执行SQL查询来...
- Oracle Data Pump:Oracle自带的工具,用于高速数据导入导出,能直接从MySQL数据库导出数据并导入到Oracle中。 - SQL Developer Data Migration:Oracle SQL Developer的一个插件,支持多种数据库间的迁移,包括...
SQL*Loader是Oracle自带的一种高效数据加载工具,它可以快速地将数据批量导入数据库。此外,ETL(Extract, Transform, Load)工具如Informatica和Datastage也是常用的选择,它们支持从各种数据源抽取数据并转换后...
4. 安装LogMiner:Oracle数据库自带LogMiner工具,但可能需要配置相应的参数。 5. 使用LogMiner:创建数据字典文件,列出要分析的日志文件,然后启动LogMiner进行分析,以获取关于DML操作、时间戳、用户等详细信息...
- 配置OGG需要使用OGG自带的管理工具ggsci。 - 配置OGG的extract进程用于捕获源数据库的变化。 - 配置OGG的replicat进程用于将捕获的变化应用到目标数据库。 - 定义源端与目标端的extract和replicat参数文件,配置...
在Oracle中,我们可以使用RMAN(恢复管理器)进行物理备份,它是Oracle数据库自带的一个强大工具,能执行复杂的备份和恢复操作。RMAN可以通过命令行或者脚本方式执行,非常适合自动化备份流程。 以下是一个简单的...
- **SQL SERVER使用Microsoft SQL Server Management Studio工具**:MS SQL Server Management Studio(SSMS)是微软提供的图形化管理工具,用户可以通过其查询编辑器执行SQL脚本,导出数据到CSV或其他文件格式。...
Oracle Data Integrator (ODI) 是一款强大的数据集成工具,它允许用户从各种不同的数据源抽取、转换和加载数据。在本解决方案中,我们将探讨如何将 ODI 集成到 Microsoft SQL Server 2008 数据库环境,特别是在面对 ...
- SQL*Plus:Oracle的命令行工具,可以运行SQL查询来提取数据。 - SQL Developer:Oracle提供的免费图形化工具,支持数据提取、导出和导入功能。 - Data Pump:Oracle的数据迁移工具,可以快速高效地导出和导入...
除了使用ETL工具外,数据库也提供了自带的工具来抽取数据,例如SQL Server Management Studio工具、Mysql数据导出工具等。这些工具可以将数据从数据库中提取出来,并将其导入到目标系统中。 大数据ETL技术方案是大...
解决oracle数据库发生'Connection reset by peer' or 'Connection reset'的错误 这边的数据库连接是kettle自带的h2数据库,只要有kettle就有这个数据库,目录位于data-integration\samples\db\,连接方式是 ...
5. **安全性配置**:启动 odi_domain,通过 WLST 工具连接 weblogic 服务器,执行安全性配置脚本,添加 SUPERVISOR 用户权限。 6. **配置 Node Manager**:修改 nodemanager.properties 文件中的 ...
1. **问题1:从Excel抽取数据到Oracle 9数据库时出现无效数字错误** 错误描述:在尝试插入数据时,Oracle 报告 `ORA-01722: 无效数字` 错误,这通常是因为字段格式不匹配。例如,字段 "field2" 的值 "1,798" 被识别...
通常,可以使用Oracle自带的统计信息收集工具如DBMS_STATS来执行这一任务。 其次,统计信息的收集涉及到几个关键的步骤。首先,需要识别数据库中的对象,例如表和索引,这将决定收集统计信息的范围。接着,选择合适...
在本技术方案中,我们还将讨论使用数据库自带工具抽取数据的方法,例如使用Microsoft SQL Server Management Studio工具抽取数据到文件系统中,使用Mysql数据导出工具将数据导出到文件系统中。 本技术方案旨在提供...
ODI 提供了性能监控工具,用于评估数据抽取过程的效率和优化性能。 - **性能指标**:包括处理速度、资源利用率等。 - **优化建议**:根据性能分析结果提出改进措施。 #### 七、ODI 数据增量的抽取(CDC) ODI 支持...
2. **检查数据一致性**:利用GoldenGate自带的工具或自定义脚本来验证源端和目标端的数据一致性。 3. **性能监控与调优**:观察数据同步过程中是否存在性能瓶颈,必要时进行调优。 4. **异常处理**:定义异常处理...
9. **故障排查工具**:许多数据库管理系统自带或有第三方工具提供故障排查功能,如Oracle的ASH(Active Session History)和SQL Server的Extended Events,这些工具可以帮助快速定位断点。 10. **数据一致性检查**...