Oracle Management Packs

http://kerryosborne.oracle-guy.com/2008/10/oracle-management-packs/


There has been quite a bit of confusion about the licensing of Oracle
Management Packs and about their functionality. Here are a couple of links to
the Oracle Docs which describe what’s not allowed without licensing these
packs.

10gR2
Management Pack Licensing

11gR1
Management Pack Licensing

A couple of things to be aware of.

  1. They are only available with Enterprise Edition

  2. The Tuning Pack depends on the Diagnostic Pack

11gR1 includes a new parameter (CONTROL_MANAGEMENT_PACK_ACCESS) which
controls access to features based on the Diagnostic and Tuning Packs at the
database level. The valid values for this parameter are NONE, DIAGNOSTIC, and
DIAGNOSTIC+TUNING. Setting this parameter to NONE disables several features at
the database level including AWR (which is the only feature I’ll discuss in this
post). By the way, the default is TUNING+DIAGNOSTICS, so AWR is still enabled by
default. Also, note that snapshots are still created, even if the parameter is
set to NONE, but they don’t contain any data. So they are not just limiting
access to the reporting capability, but also disabling the collection of data.
Here’s a quick example on a 11.1.0.7 database:


SQL> @test_cmpa
SQL> --
SQL> -- Test setting control_management_pack_access=NONE
SQL> --
SQL> select name,value from v$parameter where name like ‘%pack%‘;

NAME VALUE
--------------------------------  ------------------------------
control_management_pack_access DIAGNOSTIC+TUNING

SQL> select snap_id, begin_interval_time, snap_level, snap_flag from dba_hist_snapshot where snap_id = (select max(snap_id) from dba_hist_snapshot);

SNAP_ID BEGIN_INTERVAL_TIME SNAP_LEVEL SNAP_FLAG
---------- ------------------------- ---------- ----------
3826 27-OCT-08 08.12.32.405 PM 1 1

SQL> select count(*) from dba_hist_sysstat where snap_id = (select max(snap_id) from dba_hist_snapshot);

COUNT(*)
----------
500

SQL> alter system set control_management_pack_access=NONE;

System altered.

SQL> select name,value from v$parameter where name like ‘%pack%‘;

NAME VALUE
-------------------------------- ------------------------------
control_management_pack_access NONE

SQL> @awr_snap
SQL> exec dbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

SQL> select snap_id, begin_interval_time, snap_level, snap_flag from dba_hist_snapshot where snap_id = (select max(snap_id) from dba_hist_snapshot);

SNAP_ID BEGIN_INTERVAL_TIME SNAP_LEVEL SNAP_FLAG
---------- ------------------------- ---------- ----------
3827 27-OCT-08 08.13.10.553 PM 1 5

SQL> select count(*) from dba_hist_sysstat where snap_id = (select max(snap_id) from dba_hist_snapshot);

COUNT(*)
----------
0

So it seems clear that the setting affects not only reporting but also
collecting since no records were created in the DBA_HIST_SYSSTATS view. You may
have also noticed the SNAPSHOT_FLAG column which is new in 11g. This column is
used for a couple of purposes. First, it indicates whether the snapshot was
generated manually using the dbms_workload_repository.create_snapshot procedure
or automatically by the standard scheduled AWR snapshot process. I’m not sure
why that is important, but hey, what do I know. I guess someone at Oracle
decided that checking on manually created snapshots is a way to track AWR usage.
Here’s an excerpt from the DBMS_FEATURE_REGISTER_ALLFEAT package which is used
to monitor usage of “special” features.


/**************************************
* Automatic Workload Repository (AWR)
**************************************/ declare
DBFUS_AWR_STR CONSTANT VARCHAR2(1000) :=
‘select count(*), NULL, NULL ‘ ||
‘from wrm$_snapshot ‘ ||
‘where dbid = (select dbid from v$database) ‘ ||
‘and status = 0 ‘ ||
‘and bitand(snap_flag, 1) = 1 ‘ ||
‘and end_interval_time > ‘ || DBFUS_LAST_SAMPLE_DATE_STR; begin
dbms_feature_usage.register_db_feature
(‘Automatic Workload Repository‘,
dbms_feature_usage.DBU_INST_ALWAYS_INSTALLED,
NULL,
dbms_feature_usage.DBU_DETECT_BY_SQL,
DBFUS_AWR_STR,
‘A manual Automatic Workload Repository (AWR) snapshot was taken ‘ ||
‘in the last sample period.‘);
end;

By the way, there are a couple of views that will allow you to see how your
database is spying on you (DBA_FEATURE_USAGE_STATISTICS and
DBA_HIGH_WATER_MARK_STATISTICS). Here’s a couple of scripts to look at them,
feature_usage.sql and feature_hwm_stats.sql. Note that these views exist in
10gR2 as well, so these scripts will work in a 10g environment as well.



SQL> @feature_usage
SQL> set lines 132
SQL> set pages 999
SQL> break on version skip 1
SQL> select version, name, detected_usages, currently_used, first_usage_date, last_usage_date
2 from DBA_FEATURE_USAGE_STATISTICS
3 where detected_usages > 0
4 order by 1, 2
5 /

VERSION NAME DETECTED_USAGES CURRE FIRST_USA LAST_USAG
----------------- ---------------------------------------------------------------- --------------- ----- --------- ---------
11.1.0.6.0 Audit Options 24 TRUE 14-AUG-07 10-OCT-08
Automatic Maintenance - Optimizer Statistics Gathering 24 TRUE 14-AUG-07 10-OCT-08
Automatic Maintenance - SQL Tuning Advisor 24 TRUE 14-AUG-07 10-OCT-08
Automatic Maintenance - Space Advisor 24 TRUE 14-AUG-07 10-OCT-08
Automatic Memory Tuning 24 TRUE 14-AUG-07 10-OCT-08
Automatic SQL Tuning Advisor 20 TRUE 21-AUG-07 10-OCT-08
Automatic Segment Advisor 21 TRUE 21-AUG-07 10-OCT-08
Automatic Segment Space Management (system) 24 TRUE 14-AUG-07 10-OCT-08
Automatic Undo Management 24 TRUE 14-AUG-07 10-OCT-08
Automatic Workload Repository 4 TRUE 14-AUG-08 10-OCT-08
Character Set 24 TRUE 14-AUG-07 10-OCT-08
DICOM 1 FALSE 14-AUG-07 14-AUG-07
EM Database Control 2 FALSE 14-AUG-07 21-AUG-07
Extensibility 24 TRUE 14-AUG-07 10-OCT-08
LOB 24 TRUE 14-AUG-07 10-OCT-08
Locally Managed Tablespaces (system) 24 TRUE 14-AUG-07 10-OCT-08
Locally Managed Tablespaces (user) 24 TRUE 14-AUG-07 10-OCT-08
Materialized Views (User) 24 TRUE 14-AUG-07 10-OCT-08
Object 24 TRUE 14-AUG-07 10-OCT-08
Oracle Text 24 TRUE 14-AUG-07 10-OCT-08
Parallel SQL DDL Execution 3 FALSE 14-AUG-07 28-AUG-07
Parallel SQL Query Execution 6 TRUE 28-AUG-08 10-OCT-08
Partitioning (system) 24 TRUE 14-AUG-07 10-OCT-08
Partitioning (user) 24 TRUE 14-AUG-07 10-OCT-08
Recovery Area 24 TRUE 14-AUG-07 10-OCT-08
Resource Manager 18 TRUE 21-AUG-07 10-OCT-08
Result Cache 1 TRUE 10-OCT-08 10-OCT-08
SQL Plan Management 1 TRUE 10-OCT-08 10-OCT-08
SQL Tuning Advisor 1 FALSE 28-AUG-08 28-AUG-08
Segment Advisor 23 TRUE 21-AUG-07 10-OCT-08
Server Parameter File 14 TRUE 14-AUG-07 10-OCT-08
Services 24 TRUE 14-AUG-07 10-OCT-08
XDB 24 TRUE 14-AUG-07 10-OCT-08

11.1.0.7.0 Audit Options 2 TRUE 17-OCT-08 24-OCT-08
Automatic Maintenance - Optimizer Statistics Gathering 2 TRUE 17-OCT-08 24-OCT-08
Automatic Maintenance - SQL Tuning Advisor 2 TRUE 17-OCT-08 24-OCT-08
Automatic Maintenance - Space Advisor 2 TRUE 17-OCT-08 24-OCT-08
Automatic Memory Tuning 2 TRUE 17-OCT-08 24-OCT-08
Automatic SQL Tuning Advisor 2 TRUE 17-OCT-08 24-OCT-08
Automatic Segment Advisor 2 TRUE 17-OCT-08 24-OCT-08
Automatic Segment Space Management (system) 2 TRUE 17-OCT-08 24-OCT-08
Automatic Undo Management 2 TRUE 17-OCT-08 24-OCT-08
Automatic Workload Repository 1 FALSE 17-OCT-08 17-OCT-08
Character Set 2 TRUE 17-OCT-08 24-OCT-08
Extensibility 2 TRUE 17-OCT-08 24-OCT-08
LOB 2 TRUE 17-OCT-08 24-OCT-08
Locally Managed Tablespaces (system) 2 TRUE 17-OCT-08 24-OCT-08
Locally Managed Tablespaces (user) 2 TRUE 17-OCT-08 24-OCT-08
Logfile Multiplexing 2 TRUE 17-OCT-08 24-OCT-08
Materialized Views (User) 2 TRUE 17-OCT-08 24-OCT-08
Object 2 TRUE 17-OCT-08 24-OCT-08
Oracle Text 2 TRUE 17-OCT-08 24-OCT-08
Parallel SQL DDL Execution 2 TRUE 17-OCT-08 24-OCT-08
Partitioning (system) 2 TRUE 17-OCT-08 24-OCT-08
Partitioning (user) 2 TRUE 17-OCT-08 24-OCT-08
RMAN - Disk Backup 2 TRUE 17-OCT-08 24-OCT-08
Recovery Area 2 TRUE 17-OCT-08 24-OCT-08
Recovery Manager (RMAN) 2 TRUE 17-OCT-08 24-OCT-08
Resource Manager 1 TRUE 24-OCT-08 24-OCT-08
Result Cache 1 TRUE 24-OCT-08 24-OCT-08
SQL Plan Management 2 TRUE 17-OCT-08 24-OCT-08
Segment Advisor 2 TRUE 17-OCT-08 24-OCT-08
Server Parameter File 2 TRUE 17-OCT-08 24-OCT-08
Services 2 TRUE 17-OCT-08 24-OCT-08
XDB 2 TRUE 17-OCT-08 24-OCT-08 65 rows selected. SQL> @feature_hwm_stats
SQL> set lines 155
SQL> col description for a60
SQL> col name for a30
SQL> break on version skip 1
SQL> select version, name, highwater, last_value, description from dba_high_water_mark_statistics
2 order by version, name
3 / VERSION NAME HIGHWATER LAST_VALUE DESCRIPTION
----------------- ------------------------------ ---------- ---------- ------------------------------------------------------------
11.1.0.6.0 ACTIVE_SESSIONS 4.36474119 .0221502 Maximum Number of Active Sessions seen in the system
CPU_COUNT 16 16 Maximum Number of CPUs
DATAFILES 5 5 Maximum Number of Datafiles
DB_SIZE 4797759488 4797759488 Maximum Size of the Database (Bytes)
INSTANCES 1 1 Oracle Database instances
PART_INDEXES 2 2 Maximum Number of Partitions belonging to an User Index
PART_TABLES 2 2 Maximum Number of Partitions belonging to an User Table
QUERY_LENGTH 1904 1371 Maximum Query Length
SEGMENT_SIZE 1484783616 1484783616 Size of Largest Segment (Bytes)
SESSIONS 70 33 Maximum Number of Concurrent Sessions seen in the database
SQL_NCHAR_COLUMNS 39 39 Maximum Number of SQL NCHAR Columns
TABLESPACES 6 6 Maximum Number of Tablespaces
USER_INDEXES 2797 2797 Number of User Indexes
USER_MV 1 1 Maximum Number of Materialized Views (User)
USER_TABLES 1502 1502 Number of User Tables 11.1.0.7.0 ACTIVE_SESSIONS 5.97538533 5.44210966 Maximum Number of Active Sessions seen in the system
CPU_COUNT 16 16 Maximum Number of CPUs
DATAFILES 5 5 Maximum Number of Datafiles
DB_SIZE 5697044480 5697044480 Maximum Size of the Database (Bytes)
INSTANCES 1 1 Oracle Database instances
PART_INDEXES 2 2 Maximum Number of Partitions belonging to an User Index
PART_TABLES 2 2 Maximum Number of Partitions belonging to an User Table
QUERY_LENGTH 392780 392780 Maximum Query Length
SEGMENT_SIZE 1484783616 1484783616 Size of Largest Segment (Bytes)
SESSIONS 66 66 Maximum Number of Concurrent Sessions seen in the database
SQL_NCHAR_COLUMNS 39 39 Maximum Number of SQL NCHAR Columns
TABLESPACES 6 6 Maximum Number of Tablespaces
USER_INDEXES 2855 2855 Number of User Indexes
USER_MV 1 1 Maximum Number of Materialized Views (User)
USER_TABLES 1530 1530 Number of User Tables 30 rows selected.

But I digress, remember the SNAP_FLAG field that I said was used for a couple of purposes. Well the second thing it’s used for is as an indicator of whether there is any data associated with a snapshot (i.e. if the CONTROL_MANAGEMENT_PACK_ACCESS parameter was set to NONE when the snapshot was generated). So after a little playing around here’s a table of possible values:

I’m pretty sure about the Snap_Mode (i.e. whether it’s automatic or manual)
because of the code snippet we saw in the usage monitoring package
(DBMS_FEATURE_REGISTER_ALLFEAT). The Data_Collection part is just a guess based
on my observation (and very little observation actually, so there may well be
other possibilities), but it appears that the 3rd bit (4) is on (1xx) when data
has not been gathered (i.e. when CONTROL_MANAGEMENT_PACK_ACCESS=NONE). I have no
idea what the second bit does by the way. So here’s a little script to look at
the snapshots using what we’ve learned thus far (it shows the number of SQL
statements on which data has been collected as a verification of whether data
has been collected for this snapshot or not):


SQL> @awr_snaps2
SQL> col snap_mode for a10
SQL> col awr_mode for a10
SQL> select a.snap_id, snap_flag,
2 decode(bitand(snap_flag,1),1,‘Manual‘,‘Automatic‘) Snap_Mode,
3 decode(bitand(snap_flag,4),4,‘Off‘,‘On‘) Data_collection,
4 count(sql_id)
5 from dba_hist_snapshot a, dba_hist_sqlstat b
6 where a.snap_id = b.snap_id(+)
7 and begin_interval_time > sysdate-1
8 group by a.snap_id, snap_flag
9 order by 1
10 / SNAP_ID SNAP_FLAG SNAP_MODE DATA_COLLECTION COUNT(SQL_ID)
---------- ---------- ---------- --------------- -------------
3770 0 Automatic ON 90
3771 0 Automatic ON 85
3772 0 Automatic ON 83
3773 0 Automatic ON 86
3774 0 Automatic ON 89
3775 5 Manual OFF 0
3776 5 Manual OFF 0
3777 1 Manual ON 93
3778 1 Manual ON 96
3779 1 Manual ON 99
3780 5 Manual OFF 0
3781 5 Manual OFF 0
3782 5 Manual OFF 0
3783 5 Manual OFF 0
3784 1 Manual ON 98
3785 5 Manual OFF 0
3786 1 Manual ON 88
3787 1 Manual ON 68
3788 1 Manual ON 99
3789 1 Manual ON 74
3790 0 Automatic ON 109
3791 4 Automatic OFF 0
3792 5 Manual OFF 0
3793 1 Manual ON 100
3794 1 Manual ON 72
3795 1 Manual ON 72
3796 5 Manual OFF 0
3797 1 Manual ON 77
3798 1 Manual ON 71
3799 1 Manual ON 71
3800 5 Manual OFF 0
3801 1 Manual ON 68
3802 1 Manual ON 72
3803 1 Manual ON 73
3804 5 Manual OFF 0
3805 1 Manual ON 78
3806 1 Manual ON 73
3807 1 Manual ON 72
3808 5 Manual OFF 0
3809 1 Manual ON 79
3810 1 Manual ON 69
3811 0 Automatic ON 82
3812 0 Automatic ON 86
3813 0 Automatic ON 88
3814 4 Automatic OFF 0 45 rows selected.

So what’s this good for. Well not that much probably, but at least we’ll be
able to easily see what we can and can’t access with or without the DIAGNOSTICS
and TUNING packs. And it’s nice to know that, if were’ not licensed to use AWR,
we can turn off the collection of the data easily. (No sense spending CPU cycles
collecting data we’re not licensed to look at)

时间: 2024-12-13 23:51:01

Oracle Management Packs的相关文章

Oracle免费版和付费版,各版本的说明

Oracle免费版和付费版的区别:   首先这里给出一个答案,oracle确实是免费的给学习的人员使用.oracle的策略就是你可以随意下载我的产品,包括oracle,weblogic等产品用于学习,好处就是让想学习的人不用购买软件就使用,用的人多了,软件也普及了,所以如果你是只是想学习,可以放心的用,不用到处找什么破解版本. 但是如果你学习后,工作中想使用并且用于商业用途呢?那这个产品就是收费的了,虽然你可以继续免费使用,但是毕竟是商业环境,因为你是免费用户,很多对于数据恢复备份的高级功能都不

oracle标准版、企业版区别

一.Oracle 9i标准版.企业版 Oracle 9i标准版 Oracle 9i企业版 ?Jserver Enterprise Edition ?InterMedia ?Enterprise Manager ?Workflow Standard Edition ?Standard Management Pack ?Object Option ?Networking kit ?Object for OLE ?Distributed Option ?64 bit Option ?ODBC Driv

Oracle Database Tools

The following are some products, tools, and utilities you can use to achieve your goals as a database administrator: 1.Oracle Universal Installer Oracle Universal Installer (OUI) is a utility that installs your Oracle software and options. It can aut

Linux下使用ps命令来查看Oracle相关的进程

Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [[email protected] www.linuxidc.com ~]$ ps -ef | grep tnslsnr oracle    1999 29986  0 09:47 pts/2    00:00:00 grep tnslsnr oracle    3647     1  0 Jul03 ?        00:00:34 /u01

Oracle 2016年第一次认真复习

1.desc table_name 可以查询表的结构 2.怎么获取有哪些用户在使用数据库 select username from v$session; 3.如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ? select sys_context('userenv','ip_address') from dual; 如果是登陆本机数据库,只能返回127.0.0.1 4.如何给表.列加注释? SQL>comment on table 表 is '表注释'; 注释已创建 SQL>co

管理oracle企业管理数据库控制器

Oracle企业管理数据库控制器是一个web接口的oracle数据库管理工具.你可以执行管理员的操作,比如说创建实体对象(表,视图,索引),备份与恢复你的数据库,导入导出数据等等操作. 理解企业管理器的目录 当你安装数据库时,默认安装oracle 企业管理器.它在$oracle_home目录下安装一些列的企业管理器目录. emctl工具 $ORACLE_HOME/sysman 所有实例的公共文件与共享文件都存放在这个目录下面 $ORACLE_HOME/hostname_dbuniquename/

Linux 6.3下安装Oracle Enterprise Cloud Control 12c

Oracle enterprise cloud control 12c的安装是一个比较复杂的过程,因为他需要依赖于Oracel database以及Oracle Weblogic.现在Oracle已经整合了Weblogic到cloud control安装包中还是省事很多,本文是基于Oracle Linux 6.3上安装Oracle enterprise cloud control 12c,以下是具体描述. 1.安装前的准备a) os安装参考   Virtual Box下安装Oracle Linu

Oracle学习基本知识点总结

 以下是我总结的OCP教程的知识点,以备参考之用! 1, What's Oracle Server? ·         It's a database management system that provides an open, comprehensive, integrated approach to information management. ·         Consists of an Oracle instance and an Oracle database 2,What

oracle缩写与术语

术语 定义活动会话池 资源组或子计划允许的当前活动会话数ADDM Automatic Database Diagnostic Monitor(自动数据库诊断监视程序)ASM Automatic Storage Management(自动存储管理)ASM Automatic Summary Management(自动概要管理)ASMM Automatic Shared Memory Management(自动管理共享内存)ASSM Automatic Segment Space Managemen