《Create tablespace on ASM instance fail - ORA-01031》

摘要:《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之後,就會重現失敗的情形。

這次的教訓就是不要小看任何一個檔案。