暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle SQL配置文件 -4

原创 不吃草的牛_Nick 2023-11-29
272

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配置文件。





「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论