一.java
近日在作全文檢索,基礎採用oracle text,版本是10g,作好管理頁面後,有功能是刪除索引,就是生成drop index的語句。沒有想到這個全文檢索的index這麼直接弄還不行,通過這樣刪除的index涉及到的表,從新創建索引後,插入會報錯sql
錯誤以下:數據庫
- ora-29861:域索引標記爲loading/failed/unusable
網上多數解釋是說這個索引有問題了,可是這個索引根本沒有問題,同步和重建這個索引都不能解決這個問題,知道我看到有人說是採用這樣的方法查看索引的狀態session
- select * from sys.all_indexes t where t.owner='CTXSYS' AND T.INDEX_TYPE='DOMAIN';
- select owner,index_name from all_indexes where domidx_status != 'VALID' or domidx_opstatus !='VALID';
引文原話:
spatial indecies is not noramal, but domain.
And need to check domidx statuses.oracle
我經過查詢看到我報錯的那個索引涉及到的表上以前創建的後來被刪除的索引依舊在這個all_indexes 表裏面,而且domidx_opstatus 是!= 'VALID'dom
我試着用drop index 這些domidx_opstatus 是!= 'VALID' 的索引,此次個人程序不報錯了。ide
二.spa
同一數據庫K, 有A用戶和 B用戶 , 如今A用戶要創建一張B用戶下的某表tab..net
提示錯誤的緣由:A用戶沒有查詢B用戶下表的權限.blog
- SQL> conn sys/a as sysdba;
- Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
- Connected as SYS
-
- SQL> create user a identified by a;
-
- User created
-
- SQL> grant create session,connect to a;
-
- Grant succeeded
-
- SQL> grant select on w.a to a;
-
- Grant succeeded
-
- SQL> grant create view to a;
-
- Grant succeeded
-
- SQL> conn a/a;
- Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
- Connected as a
-
- SQL> select * from w.a;
-
- MM NN
- ---------- ----
- 10 飛機
- 10 汽車
- 10 輪船
-
- SQL> create view t_views as select * from w.a;
-
- View created
-
- SQL>