50
www.oracledatabase12g.com 刘刘刘 (Maclean Liu) [email protected] Basic Oracle For Developer & Beginner

Basic oracle for developer&beginner

Embed Size (px)

Citation preview

Page 1: Basic oracle for developer&beginner

www.oracledatabase12g.com

刘相兵 (Maclean Liu)[email protected]

Basic Oracle For Developer & Beginner

Page 2: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

About Me Email:[email protected]

Blog:www.oracledatabase12g.com

Oracle Certified Database Administrator Master 10g and 11g

Over 6 years experience with Oracle DBA technology

Over 7 years experience with Linux technology

Member Independent Oracle Users Group

Member All China Users Group

Presents for advanced Oracle topics: RAC, DataGuard, Performance Tuning and Oracle Internal.

Page 3: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

了解 Oracle数据库的基本组成和工作原理

最基本的日常管理命令如何与 DBA交流合理设计数据库应用程序

Page 4: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Oracle?

• Ed Oates • Bob Miner

• Bruce Scott• Larry Ellison

Page 5: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Oracle?Oracle

首字母大写的” Oracle” 代表” Oracle Corp”(NASDAQ:ORCL) ,表示甲骨文有限公司。甲骨文公司是世界上第三大的的信息管理软件及服务供应商,成立于 1977 年,总部位于美国加州Redwood shore 。

ORACLE

全部大写的” ORACLE” 代表” ORACLE SERVER” ,表示甲骨文数据库服务器。甲骨文数据库是世界上第一个 RDBMS 关系型数据库管理系统软件, RDBMS 的全称是 Relationship Database Management System 。

Page 6: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Oracle?

Page 7: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Instance一组后台进程以及系统全局共享区域 (SGA) 构成了实例 Instance

Page 8: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Background Process不同的后台进程完成不同的任务

ps -ef|grep ora_|grep G10R2

oracle 16365 1 0 Jun22 ? 00:00:25 ora_pmon_G10R2

oracle 16369 1 0 Jun22 ? 00:00:06 ora_mman_G10R2

oracle 16371 1 0 Jun22 ? 00:00:08 ora_dbw0_G10R2

oracle 16373 1 0 Jun22 ? 00:00:07 ora_lgwr_G10R2

oracle 16375 1 0 Jun22 ? 00:00:50 ora_ckpt_G10R2

oracle 16377 1 0 Jun22 ? 00:00:05 ora_smon_G10R2

oracle 16379 1 0 Jun22 ? 00:00:00 ora_reco_G10R2

oracle 16381 1 0 Jun22 ? 00:01:15 ora_cjq0_G10R2

oracle 16383 1 0 Jun22 ? 00:00:09 ora_mmon_G10R2

oracle 16385 1 0 Jun22 ? 00:00:05 ora_mmnl_G10R2

oracle 16395 1 0 Jun22 ? 00:00:02 ora_arc0_G10R2

oracle 16397 1 0 Jun22 ? 00:00:02 ora_qmnc_G10R2

Page 9: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Background ProcessPmon – Process monitor process

Smon – System Monitor process

Dbwr – Database Writer process

Ckpt – Checkpoint process

Lgwr – Log writer process

Reco – Distributed Transaction recovery process

Cjq0 – Check job queue process

Mmon – Memory Monitor process for AWR

Mmnl – assists MMON process for ASH

Qmnc – Used for Streams or Advanced Queue

Page 10: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Page 11: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Oracle Memory StructureSGA – System Global Area or Shared Global Area

由多个 Pool 组成,如 Shared,Buffer,Streams,Large;

一般来说 SGA 在实例启动时一次性分配,其大小在10g 自动内存管理中由 SGA_TARGET 控制,在 11g中默认由 MEMORY_TARGET 参数控制

PGA – Program Global Area

PGA 程序全局区随需分配,可被回收再用。 PGA 的大小在 10g 中由 PGA_AGGREGATE_TARGET 控制,在 11g 中默认由 MEMORY_TARGET 参数控制

Software Code Area

软件代码区存放 Oracle2 进制正文 (TEXT) 镜像,镜像共享使用。一般占用 150MB 左右

Page 12: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s SGASGA- System Global Area, 包括 :

Shared Pool 共享池DB Buffer Cache 数据库缓冲池Large Pool 大池Java Pool

Streams Pool 流池Redo Log Buffer 日志缓冲区

Page 13: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s SGA

Page 14: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Database由多种数据库文件组成:

控制文件 Control files

数据文件 Data Files

临时文件 Temp Files

密码文件 Password Files

参数文件 Server Parameter File SPFILE or Pfile

在线日志文件 Online Redo Logs

归档日志文件 Archived Redo Logs

Page 15: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Database

Page 16: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Basic Unit of databaseOracle 数据库的基本单元 :

TablespaceDataFilesSegmentExtentsBlocks

Page 17: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Tablespace表空间是逻辑概念,各种对象都存放在表空间上。

Page 18: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Tablespace?Tablespace( 表空间 )

根据用途分成几种 :

Permenent Tablespace 存放数据 Undo Tablespace 存放回滚数据 Temporary Tablespae 存放临时数据

著名的表空间 :

SYSTEM 系统表空间,存放数据字典 SYSAUX 系统辅助表空间,存放 AWR 等信息 TEMP 默认临时表空间 Users 默认的用户表空间 Example 安装 Sample schema 的表空间

Page 19: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Monitoring Tablespace?Tablespace report Script:

http://www.oracledatabase12g.com/archives/script-tablespace-report.html

Page 20: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

10g/11g Auto AdvisorDBA_OUTSTANDING_ALERTS

DBA_ADVISOR_FINDINGS

Page 21: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Tablespace - Datafiles表空间物理上由一个或多个数据文件组成。

Page 22: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s datafile?Datafile( 数据文件 )

以裸设备、文件、 ASM 三种形式存在可以设为自动扩展, 8k 的 smallfile 单个数据文件最大为 32G

以 2 进制格式存放, editor 无法编辑,但可以使用 strings 命令来查看

本地管理区间下数据文件由文件头、区间位图和数据区域组成

当发生完全检查点时,数据文件头会被更新

Page 23: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Monitoring datafile?Datafile Report Script:

http://www.oracledatabase12g.com/archives/script-datafile-report.html

Page 24: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Extent?Extents 区间由多个数据块组成,一个 Extent 总是属于一个表空间的一个数据文件

Page 25: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Extent?Extents( 区间 )

由数据块组成Segment 以 Extent 为单位分配空间9i 以后采用本地管理的区间 -Extent Management Local

Extents 的大小可以手动或自动指定Uniform size 1M – 统一使用 1M 的 Extent, 对于数据

仓库可以使用 64M/128M 大小的 Extent

Autoallocate – Oracle 自动分配 Extent 的大小DBA_EXTENTS 视图反应了区间使用状况DBA_FREE_SPACE 视图反应了空闲区间的使用状况

Page 26: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Oracle Block?数据块是 Oracle 的最小存储单位,一般为 8K 。实际的数据

是存储在数据块中。

Page 27: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Oracle BlockBlocks

标准块大小 (standard block size) 在数据库创建时决定,无法修改

可以针对表空间指定非标准大小的数据块,如 4k,16k 。但要求设置 db_nk_cache_size 非默认缓冲池

4k 适合易引发热点的单节点或 RAC OLTP 环境8k 适合于普通或 mixed 的环境16k 适合数据仓库 Data Warehouse 环境影响 Block 存储的参数有

inittrans 、 maxtrans 、 pctfree 、 pctused(MSSM) 、 compress 等。

Page 28: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

What’s Segment一张非分区表拥有一个对应的 segment ,一棵非分区索引也

对应有一个 segment ,一张分区表有许多 segment 。一个segment 总是位于某个表空间,但可能物理分布在多个数据文件上。

Page 29: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Segment-Extents-Blocks多个数据块组成了区间,多个区间组成了 segment 。

Page 30: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Oracle Physical Structure

Page 31: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Tune your Application开发人员应当了解数据库避免做哪些事?应该做哪些事?大一统的 SQL 理论CBO 与 RBO

索引的好处与坏处

Page 32: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Know Your Database Many people still take the attitude that developers should be

shielded from the database, they cannot take the time to get trained in the database ‐ basically, they should not have to know anything about the database. Why? Well, more than once I’ve heard ?... but Oracle is the most scalable database in the world, my people don’t have to learn about it, it’ll just do that?. It is true; Oracle is the most scalable database in the world. However, I can write bad code that does not scale in Oracle easier then I can write good, scalable code in Oracle.

--Tom Ktye

Page 33: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

DBA vs Developer

Page 34: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Design Table Structure表上的列总数不应超过 150 个,过多的字段会造成链式行等不良效应

如果不能严格遵守范式,至少不要使用表达式列;使用 view 或者 virtual column 代替表达式列

为表设计 spare列,一劳永逸没有主键,也没有 Unique 索引?

Page 35: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Do not column expression A bad table strucutre

TAX_RATE ALWAYS 0.1,Pre_tax=funtion(salary), aft_tax=function(salary)

Page 36: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Do not column expressionColumn expression cost: more CPU,physical IO, disk space

Page 37: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

未雨绸缪,一劳永逸为二次开发打好基础减少今后的维护窗口利用 varchar 数据类型,一般为

varchar2(1000)

减少因添加列造成链式行的可能性Spare column 总数一般为表上列总数的 30%-

50%

Page 38: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Oracle 公司自身的开发风格 :

Page 39: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Utilize dbms_application_info package

为应用程序设置模块名,迅速定位性能问题

Page 40: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Uniform SQL?大一统的 SQL语言,使用工具生成的可以跨数据库运行的

SQL语句优点: 易于移植 加速开发缺点: 开发只占整个应用生命周期的 10%

当应用足够复杂时移植其实是不可行的 无法充分利用数据库的特性难以修改语句,不灵活已经被证实无法实现可收缩的应用,特别不适合于大型 OLTP 和

RAC 系统

Page 41: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

CBO vs RBORBO : Rule Based Optimizer

在 10g 中被彻底废弃 , 针对分区表等高级对象无法利用 RBO优化器

基于简单规则的优化器,不适应于日益复杂的数据结构和应用

任何 SQL 新特性将不会被加入到 RBO 中除去兼容考虑,已经没有任何理由在新系统中采用 RBO 了。老的应用程序应当尽早考虑升级到 CBO ,到 Oracle 12g 中 RBO很可能彻底消失。

难以调试,不灵活

Page 42: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

RBO RulesRBO 的规则 :

Page 43: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Foolish RBO“愚蠢”的 RBO:

Page 44: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

CBO vs RBOCBO: Cost Based Optimized

基于成本计算的优化器支持大量 SQL特性,包括分区表、散列链接、谓词前置等等。

CBO依赖于数据库统计信息,从 10g 开始工作日22:00 开始统计任务 Gather_stats_job, 统计是有选择的

CBO 易于调试定制,灵活便利

Page 45: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

CBO ProblemsCBO 的问题在于:

统计信息不准确或过时不了解硬件的性能特征不了解当前的工作负载建立成本模型所作的某些假设不合适代码中存在 bug

以上均可能造成 CBO 下执行计划讹误

Page 46: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

Perfect Indexes 为哪些列创建索引?

经常充当限制条件的列 :Where COL1=constant

表连接中使用到的列 :FROM TAB1,TAB2 whereTAB1.COL1=TAB2.COL

SELECT 字句所选出的列 :SELECT COL1,COL2….

那些列不要索引 经常被更新的列 包含有大量 NULL值的列 数据分布不均匀的列,列倾斜 DISTINCT VALUE NUMBER很少的列建议创建位图索引

Yes or No

Ture or False

Male or Female

Page 47: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

SQL Tuning Tool dbms_xplan

Page 48: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

SQL Tuning Tool SQL Developer

Page 49: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

SQL Tuning Advisor

Page 50: Basic oracle for developer&beginner

www.oracledatabase12g.com www.oracledatabase12g.com

www.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.comwww.oracledatabase12g.com www.oracledatabase12g.com

SQL Tuning Advisor