国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle 10g分區(qū)表維護(hù)中的兩個(gè)注意事項(xiàng)

2024-08-29 13:52:36
字體:
供稿:網(wǎng)友
Oracle 10g分區(qū)表維護(hù)中的兩個(gè)注意事項(xiàng):

1.全局索引

SQL> alter table analyse_content truncate subpartition DATA0712_DEYANG;

Table truncated

truncate分區(qū)后,修改或者插入數(shù)據(jù)報(bào)錯(cuò):

ORA-01502: index 'phs.pk' or partition of such index is in unusable state

這個(gè)時(shí)候只能rebuild index

SQL> alter index phs.pk rebuild;

Index altered

執(zhí)行以后恢復(fù)正常,或者使用如下語句:

SQL> alter table analyse_content truncate subpartition DATA0712_ZIGONG UPDATE

GLOBAL INDEXES;

Table truncated

這樣它會自動恢復(fù)索引。

2.物化視圖

對于已經(jīng)建有fast refresh view的分區(qū)表來說,truncate和drop分區(qū)/表會導(dǎo)致物化視圖出錯(cuò)。

SQL> alter table analyse_content drop subpartition DATA0712_MIANYANG;

Table altered

SQL> alter table analyse_content truncate subpartition DATA0712_LUZHOU;

Table truncated

再次查詢物化視圖,這個(gè)兩個(gè)分區(qū)的數(shù)據(jù)仍然存在,說明物化視圖不能對這種DDL語句進(jìn)行更新。

嘗試在基礎(chǔ)表插入數(shù)據(jù),報(bào)錯(cuò):

ORA-32313: REFRESH FAST of " " unsupported after PMOPs

這時(shí)候必須手工刷新MV

SQL> exec dbms_mview.refresh('mv_analyse_content','f');

begin dbms_mview.refresh('mv_analyse_content','f'); end;

ORA-32313: PMOP 之后不支持 "PHS"."MV_ANALYSE_CONTENT" 的 REFRESH FAST

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2255

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2461

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2430

ORA-06512: 在 line 1

看來快速刷新'f'是不行,還是得完全刷新'c'

SQL> exec dbms_mview.refresh('mv_analyse_content','c');

PL/SQL PRocedure successfully completed

執(zhí)行完后,MV里面的數(shù)據(jù)恢復(fù)正常,基表不再報(bào)錯(cuò)。

實(shí)際10g里面,truncate分區(qū)后,某些物化視圖可以執(zhí)行fast refresh,具體有很多限制,

要查詢doc,反正select * from table這種視圖肯定可以'f',不過卻沒有什么意義。

---2008 04 22 在doc上找到了PCT特性的限制,如下:

At least one of the detail tables referenced by the materialized view must be

partitioned.

Partitioned tables must use either range, list or composite partitioning.

The top level partition key must consist of only a single column.

The materialized view must contain either the partition key column or a partition

marker or ROWID or join dependent expression of the detail table. See Oracle

Database PL/SQL Packages and Types Reference for details regarding the DBMS_

MVIEW.PMARKER function.

If you use a GROUP BY clause, the partition key column or the partition marker or

ROWID or join dependent expression must be present in the GROUP BY clause.

If you use an analytic window function or the MODEL clause, the partition key

column or the partition marker or ROWID or join dependent expression must be

present in their respective PARTITION BY subclauses.

Data modifications can only occur on the partitioned table. If PCT refresh is being

done for a table which has join dependent expression in the materialized view,

then data modifications should not have occurred in any of the join dependent

tables.

The COMPATIBILITY initialization parameter must be a minimum of 9.0.0.0.0.

PCT is not supported for a materialized view that refers to views, remote tables, or

outer joins.

PCT-based refresh is not supported for UNION ALL materialized views.

對于海量數(shù)據(jù)庫,如果不能使用DROP分區(qū),則delete相當(dāng)慢。

如果使用了,又會導(dǎo)致完全刷新MV,同樣慢。

在物化視圖的時(shí)候要認(rèn)真考慮PCT特性。

對于分區(qū)表 已經(jīng)相關(guān)索引,快照的維護(hù),建議還是參考Oracle的DOC,在admin guide和

dataware house guide里有非常完善描述。雖然沒有涉及internal,但完全可以滿足應(yīng)用。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 郴州市| 巴彦淖尔市| 临江市| 霍林郭勒市| 万盛区| 双鸭山市| 焉耆| 三都| 灵丘县| 蓬安县| 南丹县| 保山市| 元氏县| 镇原县| 屏东县| 望城县| 河间市| 什邡市| 祁门县| 灵川县| 海安县| 中宁县| 乌鲁木齐市| 宜宾县| 即墨市| 巴林右旗| 离岛区| 台中县| 绍兴县| 桐城市| 海门市| 翁牛特旗| 云林县| 中超| 林州市| 定州市| 繁昌县| 黄浦区| 丁青县| 惠州市| 建始县|