oracle SQL配置文件 4

2023年 11月 29日 60.9k 0

1.1.1.1   移动SQL配置文件

dbms_sqltune包提供了多个过程以在数据库之间移动SQL配置文件。如图11-7显示,会提供以下功能。

可以通过
create_stgtab_sqlprof 过程创建临时表。

可以通过
pack_stgtab_sqlprof 过程将数据字典中的SQL配置文件复制到临时表中。

可以通过
remap_stgtab_sqlprof 过程修改保存在临时表中的SQL配置文件名和类别。

可以通过
unpack_stgtab_sqlprof 过程将临时表中的SQL配置文件复制到数据字典中。

 

图11-7 使用dbms_sqltune包移动SQL配置文件

请注意,在数据库之间移动临时表依靠的是数据移动技术(例如,数据泵(Data
Pump)或旧有的导出(export)和导入(import)程序),并不依靠dbms_sqltune包本身。

 

下面的例子,引用自profile_cloning.sql脚本,显示了如何在单个数据库中复制SQL配置文件。首先,mystgtab临时表是在当前模式(schema)中创建的:

BEGIN

 
dbms_sqltune.create_stgtab_sqlprof(

   
table_name      => 'MYSTGTAB',

   
schema_name     => user,

   
tablespace_name => 'USERS'

  );

END;

/

 

接着,会将名称为opt_estimate的SQL配置文件从数据字典复制到临时表中:

BEGIN

 
dbms_sqltune.pack_stgtab_sqlprof(

   
profile_name         =>
'opt_estimate',

   
profile_category     => 'TEST',

   
staging_table_name   =>
'MYSTGTAB',

   
staging_schema_owner => user

  );

END;

/

 

将SQL配置文件复制回数据字典中之前,必须修改SQL配置文件名。同时,也要修改它的类别:

BEGIN

 
dbms_sqltune.remap_stgtab_sqlprof(

   
old_profile_name     =>
'opt_estimate',

   
new_profile_name     =>
'opt_estimate_clone',

   
new_profile_category => 'TEST_clone',

   
staging_table_name   =>
'MYSTGTAB',

   
staging_schema_owner => user

  );

END;

/

 

最后,将SQL配置文件从临时表复制到数据字典中。由于参数会被替换成TRUE,同名的SQL配置文件也会被改写:

BEGIN

 
dbms_sqltune.unpack_stgtab_sqlprof(

   
profile_name         =>
'opt_estimate_clone',

   
profile_category     =>
'TEST_CLONE',

   
replace              => TRUE,

   
staging_table_name   =>
'MYSTGTAB',

   
staging_schema_owner => user

  );

END;

/

1.1.1.1   删除SQL配置文件

可以使用dbms_sqltune包中的drop_sql_profile过程来删除数据字典中的SQL配置文件。Name参数指定SQL配置文件名。Ignore参数指定当SQL配置文件不存在时是否报错。默认值为FALSE:

dbms_sqltune.drop_sql_profile(name=>'opt_estimate',ignore=>true);

 

1.1.1.2   权限

要创建、修改和删除SQL配置文件,分别需要create any sql profile、alter any sql profile和 drop any sql profile系统权限。然而,从11.1版本开始,这三个系统权限不再支持administer sql
management系统权限对象。SQL配置文件没有对象权限。要使用SQL优化顾问,就需要advisor系统权限。

 

最终用户不需要特定权限也可以使用SQL配置文件。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论