摘要:《Create tablespace on ASM instance fail - ORA-01031》
2009/7/12
這兩天的運氣不錯,總算找到困擾我好久問題的解答。
原本預計要寫一篇自檔案架構的資料庫轉成ASM架構,正當一切順利到不可思議時,
果然在利用RMAN轉移CONTROL FILE時失敗,一直出現權限不足;
-- ORACLEA 本機上嘗試建立tablespace在asm instance
SQL> create tablespace asm datafile '+ASMGROUP1' size 10m;
create tablespace asm datafile '+ASMGROUP1' size 10m
*
ERROR 在行 1:
ORA-01119: 建立資料庫檔 '+ASMGROUP1' 時發生錯誤
ORA-17502: ksfdcre:4 無法建立檔案 +ASMGROUP1
ORA-15055: 無法連線 ASM 執行處理
ORA-01031: insufficient privileges
ORA-15055: 無法連線 ASM 執行處理
ORA-01031: insufficient privileges
-- ASM instance 登入
C:\>set oracle_sid=+ASM
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 7月 12 22:35:47 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys as sysdba
輸入密碼:
已連線.
SQL> show parameter instance_name
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
instance_name string
+asm
SQL>
-- 以上得知 目標資料庫及asm都可以順利登入
嘗試重新建立asm service、密碼檔、利用tns連線登入,均一無所獲,
7/8 ~ 7/12 空閒時間就想還有那裡可以試試。
因為之前透過tns連線時,總有連不上的情形,google 大部份的解答都是說將sqlnet.ora
的檔案刪除即可,確實將之刪除後,tns連線就正常了。
但是這次的困擾竟然在重建sqlnet.ora後,就一切解決了。
C:\>set oracle_sid=oraclea
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 7月 12 22:55:15 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys as sysdba
輸入密碼:
已連線.
SQL> create tablespace asmtbs datafile '+ASMGROUP1' size 10m;
已建立表格空間.
SQL>
--SQLNET.ORA
# sqlnet.ora Network Configuration File: C:\oracle\product\10.2.0\db_A\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
------------------------------------------------------------
記住是設定成 NTS,嘗試改成None之後,就會重現失敗的情形。
這次的教訓就是不要小看任何一個檔案。