Oracle OCP笔记(23)性能管理 - 无效对象
一.决定数据库性能的因数
1.内存使用
Oracle实例的内存使用对性能起着至关重要的作用,如果未按最佳方式为各种结构分配内存量,性能将急转直下。
分配的内存量不能过少,也不能过多。
2.数据库对象的状态
如果无法使用索引,SQL语句的执行速度可能大大降低,并更密集地使用资源。
如果PL/SQL对象是无效的,则会对性能产生负面影响,也可能导致错误。应该识别、了解和修复所有不可用的对象和无效对象。
二.修改无效对象和无用对象
1.无效对象
理想状态下,所有对象都处于有效(valid)状态。PL/SQL对象和视图可能变得无效(invalid).
PL/SQL对象包括: 过程、函数、触发器、程序包、对象类型
在PL/SQL过程对象引用的任何数据对象在编译后发生了变化,则会将此过程标记为INVALID.
Oracle始终会自动重新编译无效的PL/SQL对象和视图,但并不一定能够成功。
查看无效对象:
select owner,object_name,object_type from dba_objects where status='INVALID'
尝试编译无效对象:
alter object_type object_name compile;
alter procedure procedure_name compile;
alter view view_name co