oracle儲存提綱(stored outline)
Oracle Outline是用來保持SQL執行計劃(execution plan)的一個工具。我們可以透過outline工具防止SQL執行計劃在資料庫環境變更(如統計資訊,部分引數等)而引起變化。
Outline的主要使用在以下情況:
1.
為避免在升級後某些sql出現嚴重效能下降而且在短時間內不能最佳化的情況,
我們可以使用outline的功能將原生產庫中的sql執行計劃實施在新的資料庫上。
2.
為避免SQL的執行計劃在統計資料不準確的情況(如未能及時收集表或索引的統計資訊)下導致變化從而引起的效能降低。
3.
避免大規模分佈實施的應用出現資料庫版本、配置等區別引起的最佳化器產生不同的執行計劃。
4.
某些Bug引起最佳化器生成較差的執行計劃。在bug修復前我們可以使用outline來強制SQL的執行計劃的正確。
Outline的機制是將所需要的執行計劃的hint儲存在outline的表中。當執行SQL時,Oracle會與outline中的SQL比較,如果該SQL有儲存的outline,則透過儲存的hint生成執行計劃。
Outline的使用注意事項
Outline的使用需要注意以下事項。
1.
Outln使用者是一個非常重要的系統使用者,其重要性跟sys,system一樣。在任何情況下都不建議使用者刪除outln,否則會引起資料庫錯誤。
2.
最佳化器透過Outline生成執行計劃前提是outline內所有hint都有效的。如:索引沒有建立的前提下,索引的hint是失效的,導致該SQL的outline計劃不會被使用。
3.
引數Cursor_sharing=force時不能使用outline。
4.
literial sql的共享程度不高,Outline針對繫結變數的sql較好。針對literial sql的情況,需要每條sql都生成outline。
5.
建立outline需要有create any outline的許可權。
6.
要注意從CBO的角度來看,資料庫表和索引的統計資訊是隨著資料量的變化而不斷改變的。固定的執行計劃在某些時段並不一定是最優的執行計劃。所以outline的使用是要根據具體情況來決定的。
Outline使用舉例
本文舉例說明如何使用outline,並且將outline的內容從8i遷移到10g的資料庫上使用。
操作步驟以scott使用者為例說明。
8i,10g中在scott使用者下建立測試表以說明outline的使用.
Login as scott
Create table t_test(col1 varchar2(2));
1.
確定8i生產庫的db,listener處於關閉的狀態。
2.
啟動8i生產庫instance.
3.
8i庫使用system使用者登陸,賦create any outline許可權給sql執行使用者。
Grant create any outline to scott;
4.
8i庫使用scott使用者登陸。
Create outline t_ol1 for category special on select * from t_test where col1=’00’;
T_ol1àoutline name
(注意每個outline都需要使用唯一的名字,不能重複)
Specialàoutline所屬的類(category)
Select * from t_test where col1=’00’;à需要儲存outline的sql
5.
10g,8i庫Unlock並修改outlin使用者口令。注意,outln使用者的口令可以修改但是outln使用者不能刪除。
Alter user outln identified by outln account unlock;
6.
在8i庫使用outln使用者,匯出outline資料。
Exp outln/outln tables=ol/$ ol/$hints file=ol.dmp log=ol_exp.log
將export的資料複製到10g庫所在機器
7.
在10g庫使用outln使用者匯入outline資料
imp outln/outln file=ol.dmp ignore=y log=ol_imp.log
8.
在10g庫使用sys使用者更新ouline的signature
connect sys/manager
exec dbms_outln.update_signatures;
啟用stored outline
alter system set use_stored_outlines=special;
à指定outline category
9.
檢測outline是否被使用
connect scott/tiger
create index I_test on t_test (col1);
à建立索引,以改變執行計劃
explain plan for select * from t_test where col1=’00’;
@?/rdbms/admin/utlxplp
PLAN_TABLE_OUTPUT
Plan hash value: 4036493941
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | select STATEMENT | | 1 | 3 | 1200 (4) | 00:00:17 |
|*1 |TABLE ACCESS FULL | T_TEST | 1 | 3 | 1200 (4) | 00:00:17 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("COL1"='00')
Note
-----
- outline "OL1" used for this statement
à
注意執行計劃指出online已經使用
17 rows selected.
說明outline已經啟用。
如果沒有outline的情況下應該使用索引,執行計劃如下。
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 614253159
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | select STATEMENT | | 1 | 3 | 3 (0) | 00:00:01 |
|* 1 | INDEX RANGE SCAN| I_TEST | 1 | 3 | 3 (0) | 00:00:01 |
---------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("COL1"='00')
Outline維護
停止db使用outline功能:
alter system set use_stored_outlines=false;
disable/enable具體outline:
alter outline ol_name disable;
alter outline ol_name enable;
刪除outline category:
9i, 10g: exec dbms_outln.drop_by_cat(‘category_name’);
8i: exec outln_pkg.drop_by_cat(‘category_name’);
outline相關檢視
dba_outlines
檢查outline是否存在
select
name, category, owner from dba_outlines;
dba_outline_hints
該檢視列出outline的hints內容
----------------------------------------------------------------------------------------------------------------
轉載地址:
為指定的sql建立outline
USE_STORED_OUTLINES
Syntax:
USE_STORED_OUTLINES = { TRUE | FALSE | category_name }
this parameters are not initialization parameters, so you cannot set them in a pfile or spfile. However, you can set them using an ALTER SYSTEM statement.重啟後需要重新設定。
lau為建立outline的使用者,即我們的應用使用者。
1.SQL> conn as sysdba
2.已連線。
3.
4.--1.為建立outline使用者賦權CREATE ANY OUTLINE
5.SQL> grant CREATE ANY OUTLINE to lau;
6.
7.授權成功。
8.
9.SQL> conn
10.已連線。
11.
12.SQL> create table t (id int);
13.
14.表已建立。
15.
16.SQL> insert into t select level from dual connect by level <=10000;
17.
18.已建立10000行。
19.
20.SQL> commit;
21.
22.提交完成。
23.
24.SQL> set autot traceonly
25.SQL> select * from t where id=1;
26.
27.
28.執行計劃
29.----------------------------------------------------------
30.Plan hash value: 1601196873
31.
32.--------------------------------------------------------------------------
33.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
34.--------------------------------------------------------------------------
35.| 0 | SELECT STATEMENT | | 1 | 13 | 6 (0)| 00:00:01 |
36.|* 1 | TABLE ACCESS FULL| T | 1 | 13 | 6 (0)| 00:00:01 |
37.--------------------------------------------------------------------------
38.
39.Predicate Information (identified by operation id):
40.---------------------------------------------------
41.
42. 1 - filter("ID"=1)
43.
44.Note
45.-----
46. - dynamic sampling used for this statement
47.
48.
49.統計資訊
50.----------------------------------------------------------
51. 5 recursive calls
52. 0 db block gets
53. 48 consistent gets
54. 0 physical reads
55. 0 redo size
56. 402 bytes sent via SQL*Net to client
57. 385 bytes received via SQL*Net from client
58. 2 SQL*Net roundtrips to/from client
59. 0 sorts (memory)
60. 0 sorts (disk)
61. 1 rows processed
62.
63.--2.建立兩個測試outline
64.SQL> create or replace outline test_outline1 for category cate_outline
65. 2 on select * from t where id=1;
66.
67.大綱已建立。
68.
69.SQL> create or replace outline test_outline2 for category cate_outline
70. 2 on select * from t where id=2;
71.
72.大綱已建立。
73.
74.--3.檢視該使用者下建立的outline。
75.SQL> col name for a20
76.SQL> col sql_text for a50
77.SQL> col used for a10
78.SQL> set autot off
79.SQL> set linesize 200
80.SQL> select name, sql_text ,used,category
81. 2 from user_outlines
82. 3 where category=upper('cate_outline');
83.
84.NAME SQL_TEXT USED CATEGORY
85.-------------------- -------------------------------------------------- ---------- ------------------------------
86.TEST_OUTLINE2 select * from t where id=2 UNUSED CATE_OUTLINE
87.TEST_OUTLINE1 select * from t where id=1 UNUSED CATE_OUTLINE
88.
89.--4.使cate_outline下的outline生效
90.SQL> alter system set USE_STORED_OUTLINES =cate_outline;
91.
92.系統已更改。
93.
94.SQL> select name, sql_text ,used,category
95. 2 from user_outlines
96. 3 where category=upper('cate_outline');
97.
98.NAME SQL_TEXT USED CATEGORY
99.-------------------- -------------------------------------------------- ---------- ------------------------------
100.TEST_OUTLINE2 select * from t where id=2 UNUSED CATE_OUTLINE
101.TEST_OUTLINE1 select * from t where id=1 UNUSED CATE_OUTLINE
102.
103.SQL> set autot explain
104.用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
105.SQL> set autot on explain
106.SQL> select * from t where id=1;
107.
108. ID
109.----------
110. 1
111.
112.
113.執行計劃
114.----------------------------------------------------------
115.Plan hash value: 1601196873
116.
117.--------------------------------------------------------------------------
118.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
119.--------------------------------------------------------------------------
120.| 0 | SELECT STATEMENT | | 1 | 13 | 2 (0)| 00:00:01 |
121.|* 1 | TABLE ACCESS FULL| T | 1 | 13 | 2 (0)| 00:00:01 |
122.--------------------------------------------------------------------------
123.
124.Predicate Information (identified by operation id):
125.---------------------------------------------------
126.
127. 1 - filter("ID"=1)
128.
129.Note
130.-----
131. - outline "TEST_OUTLINE1" used for this statement --說明已經使用了我們建立的outline.
132.
133.SQL> select * from t where id=2;
134.
135. ID
136.----------
137. 2
138.
139.
140.執行計劃
141.----------------------------------------------------------
142.Plan hash value: 1601196873
143.
144.--------------------------------------------------------------------------
145.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
146.--------------------------------------------------------------------------
147.| 0 | SELECT STATEMENT | | 1 | 13 | 2 (0)| 00:00:01 |
148.|* 1 | TABLE ACCESS FULL| T | 1 | 13 | 2 (0)| 00:00:01 |
149.--------------------------------------------------------------------------
150.
151.Predicate Information (identified by operation id):
152.---------------------------------------------------
153.
154. 1 - filter("ID"=2)
155.
156.Note
157.-----
158. - outline "TEST_OUTLINE2" used for this statement
159.
160.--以下沒有使用outline,因為沒有繫結變數。
161.SQL> select * from t where id=3;
162.
163. ID
164.----------
165. 3
166.
167.
168.執行計劃
169.----------------------------------------------------------
170.Plan hash value: 1601196873
171.
172.--------------------------------------------------------------------------
173.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
174.--------------------------------------------------------------------------
175.| 0 | SELECT STATEMENT | | 1 | 13 | 6 (0)| 00:00:01 |
176.|* 1 | TABLE ACCESS FULL| T | 1 | 13 | 6 (0)| 00:00:01 |
177.--------------------------------------------------------------------------
178.
179.Predicate Information (identified by operation id):
180.---------------------------------------------------
181.
182. 1 - filter("ID"=3)
183.
184.Note
185.-----
186. - dynamic sampling used for this statement
187.
188.--建立索引,驗證outline的使用,sql依然使用全表掃描。
189.SQL> create index ind_t_id on t(id);
190.
191.索引已建立。
192.
193.SQL> select * from t where id=1;
194.
195. ID
196.----------
197. 1
198.
199.
200.執行計劃
201.----------------------------------------------------------
202.Plan hash value: 1601196873
203.
204.--------------------------------------------------------------------------
205.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
206.--------------------------------------------------------------------------
207.| 0 | SELECT STATEMENT | | 1 | 13 | 2 (0)| 00:00:01 |
208.|* 1 | TABLE ACCESS FULL| T | 1 | 13 | 2 (0)| 00:00:01 |
209.--------------------------------------------------------------------------
210.
211.Predicate Information (identified by operation id):
212.---------------------------------------------------
213.
214. 1 - filter("ID"=1)
215.
216.Note
217.-----
218. - outline "TEST_OUTLINE1" used for this statement
219.
220.--禁用outline之後,sql使用了索引
221.SQL> alter system set USE_STORED_OUTLINES =false;
222.
223.系統已更改。
224.
225.SQL> select * from t where id=1;
226.
227. ID
228.----------
229. 1
230.
231.
232.執行計劃
233.----------------------------------------------------------
234.Plan hash value: 3343177607
235.
236.-----------------------------------------------------------------------------
237.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
238.-----------------------------------------------------------------------------
239.| 0 | SELECT STATEMENT | | 1 | 13 | 1 (0)| 00:00:01 |
240.|* 1 | INDEX RANGE SCAN| IND_T_ID | 1 | 13 | 1 (0)| 00:00:01 |
241.-----------------------------------------------------------------------------
242.
243.Predicate Information (identified by operation id):
244.---------------------------------------------------
245.
246. 1 - access("ID"=1)
247.
248.Note
249.-----
250. - dynamic sampling used for this statement
本篇文章來源於 Linux公社網站() 原文連結:
outline for 繫結變數
1.獲取帶繫結變數sql的 child_number,hash_value
select child_number,hash_value,address,sql_text from v$sql
where sql_text like 'select * from t where id%';
2.建立outline
begin
dbms_outln.create_outline (
hash_value =>3573770389,
child_number =>0,
category =>'CATE_OUTLINE');
end;
/
1.SQL> var v_id number;
2.SQL> exec :v_id :=5;
3.
4.PL/SQL 過程已成功完成。
5.
6.提交完成。
7.SQL> set autot traceonly
8.SQL> select * from t where id=:v_id;
9.
10.
11.執行計劃
12.----------------------------------------------------------
13.Plan hash value: 1601196873
14.
15.--------------------------------------------------------------------------
16.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
17.--------------------------------------------------------------------------
18.| 0 | SELECT STATEMENT | | 100 | 1300 | 7 (15)| 00:00:01 |
19.|* 1 | TABLE ACCESS FULL| T | 100 | 1300 | 7 (15)| 00:00:01 |
20.--------------------------------------------------------------------------
21.
22.Predicate Information (identified by operation id):
23.---------------------------------------------------
24.
25. 1 - filter("ID"=TO_NUMBER(:V_ID))
26.
27.Note
28.-----
29. - dynamic sampling used for this statement
30.
31.
32.統計資訊
33.----------------------------------------------------------
34. 0 recursive calls
35. 0 db block gets
36. 0 consistent gets
37. 0 physical reads
38. 0 redo size
39. 0 bytes sent via SQL*Net to client
40. 0 bytes received via SQL*Net from client
41. 0 SQL*Net roundtrips to/from client
42. 0 sorts (memory)
43. 0 sorts (disk)
44. 1 rows processed
45.
46.SQL> col child_number for 999999999999
47.SQL> col hash_values for 999999999999
48.SQL> col hash_value for 999999999999
49.SQL> col address for a20
50.SQL> col sql_text for a50
51.SQL> set linesize 200
52.
53.SQL> select child_number,hash_value,address,sql_text from v$sql
54. 2 where sql_text like 'select * from t where id%';
55.
56. CHILD_NUMBER HASH_VALUE ADDRESS SQL_TEXT
57.------------- ------------- -------------------- --------------------------------------------------
58. 0 3573770389 22E58344 select * from t where id=:v_id
59.
60.SQL> begin
61. 2 dbms_outln.create_outline (
62. 3 hash_value =>3573770389,
63. 4 child_number =>0,
64. 5 category =>'CATE_OUTLINE');
65. 6 end;
66. 7 /
67.
68.PL/SQL 過程已成功完成。
69.
70.提交完成。
71.SQL> select name, sql_text ,used,category
72. 2 from user_outlines
73. 3 where category=upper('cate_outline');
74.
75.NAME SQL_TEXT USED CATEGORY
76.-------------------- -------------------------------------------------- ---------- ------------------------------
77.SYS_OUTLINE_12071817 select * from t where id=:v_id UNUSED CATE_OUTLINE
78.153216201
79.
80.SQL> alter system set USE_STORED_OUTLINES =cate_outline;
81.
82.系統已更改。
83.
84.SQL> set autot traceonly
85.
86.SQL> exec :v_id :=1;
87.
88.PL/SQL 過程已成功完成。
89.
90.提交完成。
91.SQL> select * from t where id=:v_id;
92.
93.
94.執行計劃
95.----------------------------------------------------------
96.Plan hash value: 1601196873
97.
98.--------------------------------------------------------------------------
99.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
100.--------------------------------------------------------------------------
101.| 0 | SELECT STATEMENT | | 16 | 208 | 6 (0)| 00:00:01 |
102.|* 1 | TABLE ACCESS FULL| T | 16 | 208 | 6 (0)| 00:00:01 |
103.--------------------------------------------------------------------------
104.
105.Predicate Information (identified by operation id):
106.---------------------------------------------------
107.
108. 1 - filter("ID"=TO_NUMBER(:V_ID))
109.
110.Note
111.-----
112. - outline "SYS_OUTLINE_12071817153216201" used for this statement
113.
114.
115.統計資訊
116.----------------------------------------------------------
117. 35 recursive calls
118. 123 db block gets
119. 44 consistent gets
120. 0 physical reads
121. 632 redo size
122. 402 bytes sent via SQL*Net to client
123. 385 bytes received via SQL*Net from client
124. 2 SQL*Net roundtrips to/from client
125. 2 sorts (memory)
126. 0 sorts (disk)
127. 1 rows processed
128.
129.SQL> exec :v_id :=10;
130.
131.PL/SQL 過程已成功完成。
132.
133.提交完成。
134.SQL> select * from t where id=:v_id;
135.
136.
137.執行計劃
138.----------------------------------------------------------
139.Plan hash value: 1601196873
140.
141.--------------------------------------------------------------------------
142.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
143.--------------------------------------------------------------------------
144.| 0 | SELECT STATEMENT | | 16 | 208 | 6 (0)| 00:00:01 |
145.|* 1 | TABLE ACCESS FULL| T | 16 | 208 | 6 (0)| 00:00:01 |
146.--------------------------------------------------------------------------
147.
148.Predicate Information (identified by operation id):
149.---------------------------------------------------
150.
151. 1 - filter("ID"=TO_NUMBER(:V_ID))
152.
153.Note
154.-----
155. - outline "SYS_OUTLINE_12071817153216201" used for this statement
156.
157.
158.統計資訊
159.----------------------------------------------------------
160. 0 recursive calls
161. 0 db block gets
162. 24 consistent gets
163. 0 physical reads
164. 0 redo size
165. 402 bytes sent via SQL*Net to client
166. 385 bytes received via SQL*Net from client
167. 2 SQL*Net roundtrips to/from client
168. 0 sorts (memory)
169. 0 sorts (disk)
170. 1 rows processed
171.
172.SQL> create index ind_t_id on t(id);
173.
174.索引已建立。
175.
176.SQL> comment on column t.id is 'dddd';
177.
178.註釋已建立。
179.
180.SQL> select * from t where id=:v_id;
181.
182.
183.執行計劃
184.----------------------------------------------------------
185.Plan hash value: 1601196873
186.
187.--------------------------------------------------------------------------
188.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
189.--------------------------------------------------------------------------
190.| 0 | SELECT STATEMENT | | 16 | 208 | 6 (0)| 00:00:01 |
191.|* 1 | TABLE ACCESS FULL| T | 16 | 208 | 6 (0)| 00:00:01 |
192.--------------------------------------------------------------------------
193.
194.Predicate Information (identified by operation id):
195.---------------------------------------------------
196.
197. 1 - filter("ID"=TO_NUMBER(:V_ID))
198.
199.Note
200.-----
201. - outline "SYS_OUTLINE_12071817153216201" used for this statement
202.
203.
204.統計資訊
205.----------------------------------------------------------
206. 1 recursive calls
207. 0 db block gets
208. 24 consistent gets
209. 0 physical reads
210. 0 redo size
211. 402 bytes sent via SQL*Net to client
212. 385 bytes received via SQL*Net from client
213. 2 SQL*Net roundtrips to/from client
214. 0 sorts (memory)
215. 0 sorts (disk)
216. 1 rows processed
217.
218.SQL> alter system set use_stored_outlines=false;
219.
220.系統已更改。
221.
222.SQL> select * from t where id=:v_id;
223.
224.
225.執行計劃
226.----------------------------------------------------------
227.Plan hash value: 3343177607
228.
229.-----------------------------------------------------------------------------
230.| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
231.-----------------------------------------------------------------------------
232.| 0 | SELECT STATEMENT | | 100 | 1300 | 1 (0)| 00:00:01 |
233.|* 1 | INDEX RANGE SCAN| IND_T_ID | 100 | 1300 | 1 (0)| 00:00:01 |
234.-----------------------------------------------------------------------------
235.
236.Predicate Information (identified by operation id):
237.---------------------------------------------------
238.
239. 1 - access("ID"=TO_NUMBER(:V_ID))
240.
241.Note
242.-----
243. - dynamic sampling used for this statement
244.
245.
246.統計資訊
247.----------------------------------------------------------
248. 13 recursive calls
249. 0 db block gets
250. 30 consistent gets
251. 4 physical reads
252. 0 redo size
253. 402 bytes sent via SQL*Net to client
254. 385 bytes received via SQL*Net from client
255. 2 SQL*Net roundtrips to/from client
256. 0 sorts (memory)
257. 0 sorts (disk)
258. 1 rows processed
本篇文章來源於 Linux公社網站() 原文連結:
USE_STORED_OUTLINES引數在例項重啟後需要重新設定,有兩種應對方法
1.使用登入觸發器為單獨的使用者設定會話資訊
1.SQL> conn
2.已連線。
3.SQL> create or replace trigger tr_login
4. 2 after logon on database
5. 3 declare
6. 4 v_username varchar2(30);
7. 5 begin
8. 6 select SYS_CONTEXT('USERENV','SESSION_USER') into v_username from dual;
9. 7 if v_username = 'SCOTT' then
10. 8 execute immediate 'alter session set nls_date_format=''yyyy/mm/dd hh24:mi:ss''';
11. 9 end if;
12. 10 exception
13. 11 when others then
14. 12 null;
15. 13 end;
16. 14 /
17.
18.觸發器已建立
19.
20.SQL> select sysdate from dual;
21.
22.SYSDATE
23.--------------
24.25-7月 -12
25.
26.SQL> conn
27.已連線。
28.SQL> select sysdate from dual;
29.
30.SYSDATE
31.-------------------
32.2012/07/25 20:26:10
本篇文章來源於 Linux公社網站() 原文連結:
在登入觸發器中為特定的使用者新增
execute immediate 'alter session set use_stored_outlines=cate_outline';
開啟類cate_outline。
2.使用啟動觸發器開啟系統級設定
1.SQL> conn as sysdba
2.已連線。
3.SQL> create or replace trigger tr_login
4. 2 after STARTUP on database
5. 3 declare
6. 4 begin
7. 5 execute immediate 'alter system set nls_date_format=''yyyy/mm/dd hh24:mi:ss''';
8. 6 exception
9. 7 when others then
10. 8 null;
11. 9 end;
12. 10 /
13.
14.觸發器已建立
15.
16.SQL> select sysdate from dual;
17.
18.SYSDATE
19.--------------
20.25-7月 -12
21.
22.--重啟例項後,以上的設定並沒有生效,但是新增
23.--execute immediate 'alter system set use_stored_outlines=cate_outline';
24.--之後的確會開啟類cate_outline,使outline生效。
25.SQL> select sysdate from dual;
26.
27.SYSDATE
28.--------------
29.25-7月 -12 --沒有生效
重啟例項後,以上的設定並沒有生效,但是將其替換為
execute immediate 'alter system set use_stored_outlines=cate_outline';
之後的確會開啟類cate_outline,使outline生效。
本篇文章來源於 Linux公社網站() 原文連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1129169/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【PLAN STABILITY】 STORED-OUTLINE
- sql最佳化:使用儲存提綱穩定sql執行計劃SQL
- OpenCV官方提綱OpenCV
- c#複習提綱C#
- SVN技術交流提綱
- http技術交流提綱HTTP
- 網路安全 總結提綱
- 重構技術交流提綱
- How to rename an Oracle stored procedureOracle
- Oracle stored procedure to send emailOracleAI
- Stored Procedure(儲存過程)編寫經驗和最佳化措施 (轉)儲存過程
- Oracle儲存過程Oracle儲存過程
- Oracle 儲存型別Oracle型別
- oracle儲存研究方法Oracle
- oracle asm 儲存限制OracleASM
- Oracle儲存單位Oracle
- 論文提綱寫作怎麼寫
- 架構設計文件提綱簡描架構
- 5.go語言函式提綱Go函式
- 前端零基礎學習提綱前端
- 程式碼規範技術交流提綱
- 多執行緒技術交流提綱執行緒
- Result Sets from Stored Procedures In Oracle (轉)Oracle
- NAVICATE 修改儲存過程提示PROCEDURE _Navicat_Temp_Stored_Proc already exists 解決方法儲存過程
- Oracle儲存過程-1Oracle儲存過程
- oracle的儲存過程Oracle儲存過程
- Oracle 共享儲存掛載Oracle
- Oracle儲存過程例子Oracle儲存過程
- Oracle建立儲存過程Oracle儲存過程
- oracle plsql儲存過程OracleSQL儲存過程
- Oracle ASM儲存Spfile解析OracleASM
- ORACLE 儲存過程示例Oracle儲存過程
- Javascript必知必會技術交流提綱JavaScript
- 專案計劃書編寫提綱(轉)
- 關於Oracle Outline使用Oracle
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- [原創] 我的專案管理之路--提綱初稿專案管理
- 實時音視訊技術入門提綱