Oracle SQL Developer - Oracle优化教程

2024/07 作者:ihunter 0 0

Oracle SQL Developer 是一个免费的集成开发环境,可在传统部署和云端部署中简化 Oracle Database 的开发和管理。SQL Developer 提供 PL/SQL 应用的完整端到端开发、用于运行查询和脚本的工作表、用于管理数据库的 DBA 控制台、报告接口、完整的数据建模解决方案,以及用于将第三方数据库迁移到 Oracle 的迁移平台。

是不是很强大!而且还免费,你要用plsql/toad也可以,但是要花钱。很多DBA的工作都可以通过这个工具来完成,甚至是数据迁移,数据一致性比对。

个工具在Oracle 11g以后的版本,默认都存在Oracle_home目录下,但是默认携带的版本太低,有很多功能都没有。

打开官方链接:SQL Developer | Oracle 中国

1.点击“下载Sql Developer”

如果你是和我一样使用Windows的小白用户,请按下图选择,下载 windows 64-bit with jdk 11 included,工具是基于JAVA开发的,唯一的缺点就是JAVA的通病,对CPU要求有些高,你电脑CPU要是太拉跨,运行起来可能会卡,有的时候可能会程序无响应。

这里面包含了要运行sqldeveloper的JAVA环境,不再需要你额外配置。解压即用。

同时还有官方文档的连接,想要详细学习这个工具用途,可以点击下图中的documentation进行查看

这里需要你注册一个oracle的账号,然后同意许可就能下载了。

2.创建数据库连接

下载下来的压缩包,直接右键解压到C盘根目录(你可以根据自己的情况选择安装位置)

打开解压目录,运行sqldeveloper.exe开始

如果 你安装过历史版本,运行新版本的时候会自动提示你导入之前版本的用户数据。避免了升级安装的麻烦。

登录到界面后,如下图所示,

点击+号,选择“新 建数据库连接”

添加对应的数据库信息,保存

下一步在导航栏,点击“查看”

选择"DBA"

点击加号,选择刚才保存的数据库连接

这里就是DBA的一个小型工具集,里面可以监控数据库状态、实时SQL进行情况监控、表空间管理、查看AWR等等一系列操作。

准备工作完毕,接下来说说小白都会的数据库优化。

3.使用工具自动生成优化SQL建议

进入正题。主要是通过这个DBA工具中的“实时SQL监视”,找到慢SQL,然后通过内置的优化建议生成工具,生成优化建议,按建议进行配置,完成优化。

 

这里会弹出如下的提示,点击“是”(里面的内容你可以仔细阅读,是否符合你的生产环境)

在这个界面里会列出执行时间较长、IO较高的SQL,当你的数据库出现性能问题时, 你后这里会出现很多。找到执行最多、时间最长的SQL进行优化。

比如下图这个,一看执行了19S就很有问题,点击改行,会自动显示执行计划,整个SQL的执行计划一下就可以看到走了全表扫描,一看就是没走索引导致的。

我们右键这个SQL,选择Xplan

好家伙,这条SQL还没有写绑定变量,直接就写值了!!!

接下来我们复制这段SQL,然后把它粘贴到SQL工作表

右键选择刚才创建的连接,选择“打开SQL工作表”

粘贴SQL,然后选中SQL,右键,选择"SQL优化指导“

之后他就会自动运行,分析SQL

主要是通过以下几个方面进行优化指导:

统计信息、SQL概要文件、索引、重新构建SQL建议

这个时间根据SQL的复杂程度,可能会运行比较长的时间,一般建议是在业务不繁忙的时候进行!!!

好的,经过40秒左右,我们的优化任务完成了。看提示,它己经发现了索引的问题。

我们点击上图的详细信息,就能看到他的详细优化建议

我的建议是忽略他给他的部分建议,如:创建SQL概要文件并行,通常给的这两个建议都是加上会更慢,重点看有没有让你收集统计信息、索引该如何创建。

创建1个好的索引(在不能更改业务SQL的情况下),基本能解决很大的问题,我以前也把这个方法告诉一些开发人员,让他们来适当的优化一下有问题的SQL。

生成的建议就有创建语句,但是没有online,生产上要建索引还是加上online,不然锁表可要了命了!

4.一些其他的辅助用法

1、导出SQL报告

如果你觉得他给的建议不靠谱,还想找高人指点一下,也可以把这个SQL导出为报告

选中这个SQL,点击上方的保存按钮,save as active report

会保存为1个HTML,这个HTML需要联网调用一些ORACLE的组件才能打开,打开后是这个样子

2、实时查看数据库的情况

对于没有别的专业监控数据库的情况下,可以使用”数据库状态“--”实例查看器“来进行简单的监控,这个有点类似于EM管理器的部分功能。

赞(0) 更多分享

上篇: 使用OBD白屏部署OceanBase数据库
下篇: 没有了