11g新特性:SQL Management Base(SMB)

来源:互联网 发布:mp4下载软件 编辑:程序博客网 时间:2024/06/05 02:06

在Oracle 11g,SMB是SPM的控制端,SMB是数据字典的一部分,SMB存储在sysaux表空间,SMB存储SQL语句日志,Plan Histories,以及SQL Profiles等,SMB允许每周清除一次未使用的SQL Plan & Log,SMB已经配置了自动存储空间管理。
[@more@]1 Disk Space Usage
SMB默认可以使用sysaux表空间的10%,SMB被允许使用sysaux的存储范围是1%-50%,每周有后台进程来测量SMB使用sysaux的空间,如果SMB超过了允许的范围,就会在al*.log中写入一条警告,可以通过dbms_spm的configure过程设置SMB允许使用存储空间的范围。
BEGIN
DBMS_SPM.CONFIGURE(‘space_budget_percent’, 30);
END;
/
2 Purging Policy
也可以通过dbms_spm的configure过程设置SMB清除策略:
BEGIN
DBMS_SPM.CONFIGURE(‘plan_retention_weeks’, 105);
END;
/
3 SMB Configuration Parameters
可以通过DBA_SQL_MANAGEMENT_CONFIG视图来查看配置参数
select parameter_name, parameter_value from dba_sql_management_config;
4 创建stage表
BEGIN
DBMS_SPM.CREATE_STGTAB_BASELINE(table_name => ‘stage1’);
END;
/
5 打包需要导出的数据
DECLARE
my_plans number;
BEGIN
my_plans := DBMS_SPM.PACK_STGTAB_BASELINE(
table_name => ‘stage1’,
enabled => ‘yes’,
creator => ‘dba1’);
END;
/
6 用exp或expdp导出stage表。
7 用imp或impdb导入stage表
8 把导出的SQL Plan Baselines导入字典中
DECLARE
my_plans number;
BEGIN
my_plans := DBMS_SPM.UNPACK_STGTAB_BASELINE(
table_name => ‘stage1’,
fixed => ‘yes’);
END;
/

0 0
原创粉丝点击