欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何利用sqlprofile固定執(zhí)行計劃并將執(zhí)行計劃導入到新庫

本文小編為大家詳細介紹“如何利用sqlprofile固定執(zhí)行計劃并將執(zhí)行計劃導入到新庫”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“如何利用sqlprofile固定執(zhí)行計劃并將執(zhí)行計劃導入到新庫”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

創(chuàng)新互聯(lián)-云計算及IDC服務提供商,涵蓋公有云、IDC機房租用、聯(lián)通機房服務器托管、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務,溝通電話:13518219792

1 實驗環(huán)境

Linux 11G R2 導入到 windows 11G R2

源庫:

SQL> select * from v$version;

 

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE  11.2.0.4.0  Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 - Production

目標庫:

SQL> select * from v$version;

 

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE    11.2.0.4.0      Production

TNS for 64-bit Windows: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 - Production

1.1 創(chuàng)建表

SQL> conn lei/lei
Connected.

SQL> create table tt as select * from dba_objects;
Table created.

SQL> create index idex_01 on tt(object_id);
Index created.

1.2 收集統(tǒng)計信息

SQL> exec dbms_stats.gather_table_stats('LEI','TT',cascade=>true);
PL/SQL procedure successfully completed.

1.3 生成執(zhí)行計劃

SQL> explain plan for select object_NAME FROM TT WHERE object_id=2;
Exlained.

SQL>  select * from table(dbms_xplan.display());
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 2974445191
--------------------------------------------------------------------------------
| Id  | Operation     | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |       |     1 |    30 |     2 (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| TT      |     1 |    30 |     2 (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN     | IDEX_01 |     1 |       |     1  (0)| 00:00:01 |
--------------------------------------------------------------------------------
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
 2 - access("OBJECT_ID"=2)


14 rows selected.

可以看到是走索引的。

1.4 使用HINT改變執(zhí)行計劃

SQL> select /*+ full(tt) */* from tt where object_id=2;


OWNER

------------------------------

OBJECT_NAME

--------------------------------------------------------------------------------

SUBOBJECT_NAME  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE

------------------------------ ---------- -------------- -------------------

CREATED   LAST_DDL_ TIMESTAMP STATUS  T G S  NAMESPACE

--------- --------- ------------------- ------- - - - ----------

EDITION_NAME

------------------------------

SYS

C_OBJ#

2        2 CLUSTER


OWNER

------------------------------

OBJECT_NAME

--------------------------------------------------------------------------------

SUBOBJECT_NAME  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE

------------------------------ ---------- -------------- -------------------

CREATED   LAST_DDL_ TIMESTAMP STATUS  T G S  NAMESPACE

--------- --------- ------------------- ------- - - - ----------

EDITION_NAME

------------------------------

24-AUG-13 24-AUG-13 2013-08-24:11:37:35 VALID N N N        5

1.5 查看outline

SQL> explain plan for select /*+ full(tt) */* from tt where object_id=2;

Explained.


SQL> select * from table(dbms_xplan.display(null,null,'outline'));


PLAN_TABLE_OUTPUT

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Plan hash value: 264906180

--------------------------------------------------------------------------
| Id  | Operation   | Name | Rows  | Bytes | Cost (%CPU)| Time   |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |  |     1 |    98 |   344   (1)| 00:00:05 |
|*  1 |  TABLE ACCESS FULL| TT   |     1 |    98 |   344   (1)| 00:00:05 |
--------------------------------------------------------------------------
PLAN_TABLE_OUTPUT

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  /*+

      BEGIN_OUTLINE_DATA

      FULL(@"SEL$1" "TT"@"SEL$1")

      OUTLINE_LEAF(@"SEL$1")

      ALL_ROWS

      DB_VERSION('11.2.0.4')

      OPTIMIZER_FEATURES_ENABLE('11.2.0.4')

      IGNORE_OPTIM_EMBEDDED_HINTS

      END_OUTLINE_DATA

  */

PLAN_TABLE_OUTPUT
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter("OBJECT_ID"=2)

27 rows selected.

1.6 生成sql profile

SQL> declare

        v_hints sys.sqlprof_attr;

  begin

        v_hints := sys.sqlprof_attr('FULL(@"SEL$1" "TT"@"SEL$1")');   --從上面獲得

        dbms_sqltune.import_sql_profile('select * from tt where object_id= 2',    --sql語句

         v_hints, 'TT_LEI_20170510',   --profile名稱

        force_match => true);

  end;

 /  8    9   10  

 

PL/SQL procedure successfully completed.

1.7 查看profile是否生效

SQL> explain plan for select * from tt where object_id=2;

Explained.
SQL> select * from table(dbms_xplan.display);


PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 264906180
--------------------------------------------------------------------------
| Id  | Operation   | Name | Rows  | Bytes | Cost (%CPU)| Time  |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |    |     1 |    98 |   344   (1)| 00:00:05 |
|*  1 |  TABLE ACCESS FULL| TT    |     1 |    98 |   344   (1)| 00:00:05 |
--------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   1 - filter("OBJECT_ID"=2)

Note
--------
   - SQL profile "TT_LEI_20170510" used for this statement

17 rows selected.

可以看到已經(jīng)生效了。

2 導出表和打包執(zhí)行計劃

2.1 打包執(zhí)行計劃

SQL> exec DBMS_SQLTUNE.CREATE_STGTAB_SQLPROF(table_name=>'TEST_TT_PROFILE1',schema_name=>'LEI');

PL/SQL procedure successfully completed.

SQL> exec DBMS_SQLTUNE.PACK_STGTAB_SQLPROF(staging_table_name
=>'TEST_TT_PROFILE1',profile_name=>'TT_LEI_20170510');

PL/SQL procedure successfully completed

名稱隨便。

更多關(guān)于DBMS_SQLTUNE.CREATE_STGTAB_SQLPROF的說明,請查看官方文檔:
http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_sqltun.htm#CACBCEEH

2.2 導出用戶LEI

[oracle@dg-p ~]$ expdp system/oracle dumpfile=tt.dmp directory=lei_dir schemas=lei
 
Export: Release 11.2.0.4.0 - Production on Wed May 10 20:09:28 2017 
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** dumpfile=tt.dmp directory=lei_dir schemas=lei
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 10.18 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "LEI"."TT"                                  8.366 MB   86269 rows
. . exported "LEI"."TEST_TT_PROFILE1"                    22.02 KB       1 rows
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  /u01/backup/tt.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Wed May 10 20:09:40 2017 elapsed 0 00:00:12

2.3 導入到新環(huán)境

2.3.1 創(chuàng)建用戶
SQL> create user lei identified by lei;
用戶已創(chuàng)建。

SQL> grant dba,resource,connect to lei;
授權(quán)成功。

SQL>
C:/Users/Administrator>impdp system/oracle dumpfile=tt.dmp directory=lei_dir schemas=LEI
Import: Release 11.2.0.4.0 - Production on 星期三 5月 10 12:05:09 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
 
連接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加載/卸載了主表 "SYSTEM"."SYS_IMPORT_SCHEMA_01"
啟動 "SYSTEM"."SYS_IMPORT_SCHEMA_01":  system/******** dumpfile=tt.dmp directory=lei_dir schemas=LEI
處理對象類型 SCHEMA_EXPORT/USER
ORA-31684: 對象類型 USER:"LEI" 已存在
處理對象類型 SCHEMA_EXPORT/SYSTEM_GRANT
處理對象類型 SCHEMA_EXPORT/ROLE_GRANT
處理對象類型 SCHEMA_EXPORT/DEFAULT_ROL
處理對象類型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
處理對象類型 SCHEMA_EXPORT/TABLE/TABLE
處理對象類型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 導入了 "LEI"."TT"                                  8.366 MB   86269 行
. . 導入了 "LEI"."TEST_TT_PROFILE1"                    22.02 KB       1 行
處理對象類型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
處理對象類型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STAISTICS
處理對象類型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作業(yè) "SYSTEM"."SYS_IMPORT_SCHEMA_01" 已經(jīng)完成, 但是有 1 個錯誤 (于 星期三 5月 10 12:05:12 2017 elapsed 0 00:00:03 完成)
2.3.2 查看新庫中的執(zhí)行計劃
SQL> conn lei/lei
已連接。

SQL> explain plan for select * from tt where object_id=2;
已解釋。

SQL>  select * from table(dbms_xplan.display());
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 2974445191
----------------------------------------------------------------------------------------
| Id  | Operation                   | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT            |         |     1 |    98 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS BY INDEX ROWID| TT      |     1 |    98 |     2   (0)| 00:00:01 |
|*  2 |   INDEX RANGE SCAN          | IDEX_01 |     1 |       |     1   (0)| 00:00:01 |
---------------------------------------------------------------------------------------
PLAN_TABLE_OUTPUT
---------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   2 - access("OBJECT_ID"=2)

已選擇14行。

可以看到默認還是走索引。

2.3.3 解包sqlprofile,執(zhí)行計劃變更為與源庫一樣的執(zhí)行計劃。
SQL> EXEC DBMS_SQLTUNE.UNPACK_STGTAB_SQLPROF(replace => TRUE,staging_table_name => 'TEST_TT_PROFILE1');
PL/SQL 過程已成功完成。
2.3.4 再次查看執(zhí)行計劃
SQL> explain plan for select * from tt where object_id=2;
已解釋。

SQL>  select * from table(dbms_xplan.display());

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 264906180
--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |     1 |    98 |   344   (1)| 00:00:05 |
|*  1 |  TABLE ACCESS FULL| TT   |     1 |    98 |   344   (1)| 00:00:05 |
--------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   1 - filter("OBJECT_ID"=2)
 
Note
-----
   - SQL profile "TT_LEI_20170510" used for this statement

已選擇17行。

可以看到,執(zhí)行計劃已經(jīng)使用profile,走了全表掃描。
到此實驗結(jié)束。

讀到這里,這篇“如何利用sqlprofile固定執(zhí)行計劃并將執(zhí)行計劃導入到新庫”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享名稱:如何利用sqlprofile固定執(zhí)行計劃并將執(zhí)行計劃導入到新庫
網(wǎng)頁URL:http://aaarwkj.com/article18/jjggdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站內(nèi)鏈、全網(wǎng)營銷推廣自適應網(wǎng)站、網(wǎng)站排名、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
日韩一区二区三精品| 日本加勒比中文在线观看| 男女性生活视频成年人观看| 亚洲日本一区二区一本一道| 日本高清不卡在线观看| 91精品国产91久久综合福利| 一区二区少妇黄色三区| 白天躁晚上躁天天躁在线| 欧美亚洲一区二区三区91 | 日韩电影在线一本二本三本| 国产传媒网约在线观看| 日韩在线不卡播放视频| 亚洲高清成人综合网站| 欧美三级高清视频在线播放| 亚洲天堂精品日韩电影| 日韩高清中文字幕在线| 国产精品免费视频一区二区三区| 欧美欧美一区二区三区| 国产九色91中文在线视频| 亚洲一区二区三区精品电影网| 男人喜欢看的免费视频| 中文字幕日韩av综合在线| 97在线亚洲欧美视频| 男人的天堂av东京热一区| 男人天堂手机视频在线| 婷婷激情亚洲综合综合久久| 亚洲欧美日韩不卡视频| 亚洲综合久久精品少妇av| 97色伦综合在线欧美| 亚洲一区麻豆文化传媒| 久久精品国产亚洲av麻豆花絮 | 色91精品在线观看剧情| 中国毛片一区二区三区| 99久久免费精品老色| 啄木乌欧美一区二区三| 激情自拍偷拍合集一部| 我要看黄色一级性生活片| 欧美日韩国产激情另类| 我想看亚洲一级黄色录像| 海角社区av在线播放| 国产精品熟女亚洲av|