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

首頁 > 開發(fā) > 綜合 > 正文

執(zhí)行全文索引時(shí)出現(xiàn)權(quán)限不足的解決方法

2024-07-21 02:43:43
字體:
供稿:網(wǎng)友
在Oracle中,SYS用戶是整個(gè)數(shù)據(jù)庫的所有者,SYS擁有數(shù)據(jù)庫中幾乎所有的權(quán)限。今天我們就來介紹一下使用SYS執(zhí)行全文索引的建立時(shí),出現(xiàn)了權(quán)限不足的錯(cuò)誤。

許多人剛剛接觸Oracle時(shí),對(duì)于權(quán)限并不是很了解,如果有時(shí)候報(bào)錯(cuò)ORA-1031缺少足夠的權(quán)限,且找不到所需要的授權(quán)的權(quán)限時(shí),就會(huì)嘗試使用SYS來執(zhí)行這個(gè)錯(cuò)誤。由于SYS時(shí)整個(gè)數(shù)據(jù)庫的所有者,因此不會(huì)出現(xiàn)缺少權(quán)限的問題。

下面我們來介紹一個(gè)錯(cuò)誤案例:在測(cè)試一個(gè)全文索引例子的時(shí)候,由于忘記切換用戶,使用了SYS用戶執(zhí)行,結(jié)果出現(xiàn)ORA-1031錯(cuò)誤,數(shù)據(jù)庫測(cè)試版本為9204:

SQL> SHOW USER

USER 為"SYS"

SQL> CREATE TABLE T (ID NUMBER, NAME VARCHAR2(60));

表已創(chuàng)建。

SQL> INSERT INTO T VALUES (1, 'A SIMPLE TEST FOR SYS CREATE CONTEXT INDEX');

已創(chuàng)建 1 行。

SQL> CREATE INDEX IND_T_NAME ON T(NAME) INDEXTYPE IS CTXSYS.CONTEXT;

CREATE INDEX IND_T_NAME ON T(NAME) INDEXTYPE IS CTXSYS.CONTEXT

*

ERROR 位于第 1 行:

ORA-29855: 執(zhí)行 ODCIINDEXCREATE 例行程序時(shí)出錯(cuò)

ORA-20000: Oracle Text 錯(cuò)誤:

DRG-50857: oracle error in drixtab.create_index_tables

ORA-01031: 權(quán)限不足

ORA-06512: 在"CTXSYS.DRUE", line 157

ORA-06512: 在"CTXSYS.TEXTINDEXMETHODS", line 204

注意:這個(gè)例子在普通用戶下并不會(huì)報(bào)錯(cuò):

SQL> CONN YANGTK/YANGTK@TEST1已連接。

SQL> CREATE TABLE T (ID NUMBER, NAME VARCHAR2(60));

表已創(chuàng)建。

SQL> INSERT INTO T VALUES (1, 'A SIMPLE TEST FOR SYS CREATE CONTEXT INDEX');

已創(chuàng)建 1 行。

SQL> CREATE INDEX IND_T_NAME ON T(NAME) INDEXTYPE IS CTXSYS.CONTEXT;

索引已創(chuàng)建。

通過EVENTS 10046進(jìn)行跟蹤,發(fā)現(xiàn)在創(chuàng)建DR$IND_T_NAME$K表的時(shí)候報(bào)錯(cuò),而這個(gè)表是一個(gè)索引組織表。

根據(jù)這些信息查詢了METALINK,發(fā)現(xiàn)Bug No. 1366361對(duì)這個(gè)問題進(jìn)行了比較清晰的闡述。缺少權(quán)限的不是SYS用戶,而是CTXSYS所建立的存儲(chǔ)過程沒有權(quán)限。不過此處并沒有解釋清楚為什么普通表沒有問題,而建立一個(gè)索引組織表報(bào)錯(cuò)。

下面給出了對(duì)應(yīng)的解決方法,將數(shù)據(jù)庫的O7_DICTIONARY_accessIBILITY設(shè)置為TRUE,重起后,就不會(huì)報(bào)錯(cuò)了。

SQL> CONN /@TEST1 AS SYSDBA已連接。

SQL> SHOW PARAMETER O7

NAME TYPE VALUE

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

O7_DICTIONARY_ACCESSIBILITY boolean FALSE

SQL> ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY = TRUE SCOPE = SPFILE;

系統(tǒng)已更改。

SQL> SHUTDOWN IMMEDIATE數(shù)據(jù)庫已經(jīng)關(guān)閉。已經(jīng)卸載數(shù)據(jù)庫。

ORACLE 例程已經(jīng)關(guān)閉。

SQL> STARTUP

ORACLE 例程已經(jīng)啟動(dòng)。

Total System Global Area 110173900 bytes

Fixed Size 454348 bytes

Variable Size 83886080 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes數(shù)據(jù)庫裝載完畢。數(shù)據(jù)庫已經(jīng)打開。

最后刪除剛才建立索引失敗留下的垃圾表,就可以重建索引了:

SQL> DROP INDEX IND_T_NAME;

索引已丟棄。

SQL> CREATE INDEX IND_T_NAME ON T(NAME) INDEXTYPE IS CTXSYS.CONTEXT;

索引已創(chuàng)建。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 观塘区| 麟游县| 永平县| 舒兰市| 平江县| 宁德市| 石阡县| 临安市| 临清市| 兴宁市| 普兰县| 德令哈市| 甘谷县| 白山市| 罗田县| 宣恩县| 定南县| 永泰县| 镇沅| 涪陵区| 阳谷县| 松滋市| 南乐县| 杭锦旗| 咸阳市| 鹿泉市| 达孜县| 临潭县| 长海县| 防城港市| 青河县| 息烽县| 重庆市| 惠州市| 瓮安县| 云安县| 东乡| 沧州市| 东阳市| 深圳市| 拜城县|