Linux 环境数据库安装、启动、链接常见错误

===============================================================================
Error Code:ORA-01031: insufficient privileges
===============================================================================
$ sqlplus sys/oracle@ora11g as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jan 12 19:08:41 2012
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name: linux

解决方法: sql

 一、以oracle用户登陆服务器,并经过sqlplus以管理员身份登陆
 sqlplus / as sysdba
 
 二、检查系统参数remote_login_passwordfile的value值是否为EXCLUSIVE
 show parameter password;
 
 三、查询具备sysdba权限的用户
 select * from v$pwfile_users;
 
 四、若是第3步查询的结果为空给用户赋DBA权限
 grant sysdba to sys;
 
 五、若是步骤4返回ORA-01994错误,创建password文件
  orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password='赋DBA权限用户的密码' entries=DBA权限的用户数
 
 六、从新以SY
要点说明:
 Oracle权限认证的基本顺序是这样的,先由SQLNET.AUTHENTICATION_SERVICES的设置值来决定是使用OS认证仍是口令文件认证,若是使用口令文件认证的话,就要看还有后面的两个条件:若是 remote_login_passwordfile 参数设置为非NONE并且口令文件存在的话就能正常使用口令文件认证,不然将会失败。 数据库

 系统默认  SQLNET.AUTHENTICATION_SERVICES = 默认不设 服务器

 SQLNET.AUTHENTICATION_SERVICES = ALL 支持OS认证和口令文件认证。
 SQLNET.AUTHENTICATION_SERVICES = NTS 仅用于 WIN NT 系统。
 SQLNET.AUTHENTICATION_SERVICES = NONE 指定oracle只使用口令文件 (WIN 和 LINUX)。
 SQLNET.AUTHENTICATION_SERVICES   不设   LINUX 默认支持 OS认证和口令文件认证。
 WIN 系统只支持口令文件认证。 oracle

 系统默认  REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE spa

 REMOTE_LOGIN_PASSWORDFILE = NONE 不使用口令文件
 REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE 使用口令文件,但只有一个数据库实例能够使用
 REMOTE_LOGIN_PASSWORDFILE = SHARED 多个数据库实例共用一个口令文件,这种设置下不能增长其余数据库用户做为特殊权限用户到口令文件中的。 ci

 ORAPWD FILE=< FILENAME > PASSWORD=< PASSWORD >  ENTRIES=< MAX_USERS > rem

 参数解析:
 FILENAME:密码文件名文件命规则“orapw”+<实例名>;
 PASSWORD:设置INTERNAL/SYS账号的口令;
 MAX_USERS:密码文件中能够存放的用户数,对应于许能够SYSDBA/SYSOPER权限登陆数据库的用户数。由于在日后的维护中,若用户数超出了此限制,则须要重建密码文件 get

 


===============================================================================
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
===============================================================================
Error Code:ORA-32001: write to SPFILE requested but no SPFILE is in use
===============================================================================
SQL> alter system set cluster_database=false scope=spfile; string

若是有如下报错,说明数据库不是用spfile来启动的
alter system set cluster_database=false scope=spfile
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in use
能够经过如下语句来确认是不是用spfile来启动的,为空表示用pfile启动
SQL> show parameter spfile;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string

使用如下语句来修改oracle来使用spfile启动
SQL> create spfile from pfile;
File created.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
SQL> alter system set cluster_database=false scope=spfile;

System altered.
===============================================================================
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
===============================================================================
Error Code:ORA-01078: failure in processing system parameters
     LRM-00109: could not open parameter file '/opt/oracle/products/10.1.0.3/db_1/dbs/initjason.ora'
===============================================================================
错误信息:
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/products/10.1.0.3/db_1/dbs/initjason.ora'


解决办法:
cp $ORACLE_BASE/admin/$ORACLE_SID/pfile/init.ora.85201021251 /opt/oracle/products/10.1.0.3/db_1/dbs/initjason.ora

> sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on Thu Jun 8 13:16:00 2006

Copyright (c) 1982, 2004, Oracle.  All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                   778212 bytes
Variable Size              57679900 bytes
Database Buffers          109051904 bytes
Redo Buffers                 262144 bytes
Database mounted.
Database opened.
SQL>           

问题解决!

注:Oracle在启动过程当中,须要读取参数文件(pfile/spfile)来建立实例.Oracle在启动过程当中,寻找参数文件的顺序为:spfile<sid>.ora,spfile.ora,init<sid>.ora.
===============================================================================
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
===============================================================================
Error Code:ora-01031 :insufficient privileges
===============================================================================
1.多是防火墙没有关闭

检查防火状态:
linux:~ # chkconfig -list|grep -i fire
SuSEfirewall2_final       0:off 1:off 2:off 3:off 4:off 5:off 6:off
SuSEfirewall2_init        0:off 1:off 2:off 3:off 4:off 5:on   6:off
SuSEfirewall2_setup       0:off 1:off 2:off 3:off 4:off 5:off 6:off
开启防火墙:
linux:~ # chkconfig --level 5 SuSEfirewall2_init on
linux:~ # chkconfig -list|grep -i fire
SuSEfirewall2_final       0:off 1:off 2:off 3:off 4:off 5:off 6:off
SuSEfirewall2_init        0:off 1:off 2:off 3:off 4:off 5:on   6:off
SuSEfirewall2_setup       0:off 1:off 2:off 3:off 4:off 5:off 6:off
关闭防火墙:
linux:~ # chkconfig --level 5 SuSEfirewall2_init off
linux:~ # chkconfig -list|grep -i fire
SuSEfirewall2_final       0:off 1:off 2:off 3:off 4:off 5:off 6:off
SuSEfirewall2_init        0:off 1:off 2:off 3:off 4:off 5:off 6:off
SuSEfirewall2_setup       0:off 1:off 2:off 3:off 4:off 5:off 6:off
===============================================================================
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
===============================================================================
Error Code:ORA-01119: error in creating database file '/home/oracle/oradata/test01/testTMP.dbf'
      ORA-27040: file create error, unable to create file
   Linux-x86_64 Error: 2: No such file or directory

===============================================================================
-- 建立临时表空间
 CREATE TEMPORARY TABLESPACE VoiceInsight_Temp
 TEMPFILE '/home/oracle/oradata/test01/testTMP.dbf'
 SIZE 32M
 AUTOEXTEND ON
 NEXT 32M MAXSIZE 500M
 EXTENT MANAGEMENT LOCAL;

 

ORA-01119: error in creating database file

'/home/oracle/oradata/test01/testTMP.dbf'
 ORA-27040: file create error, unable to create file
 Linux-x86_64 Error: 2: No such file or directory

解决方法:

在sqlplus中调用Unix命令须要在命令前加个感叹号。如SQL> !ps -aef | grep ora11gr2

SQL> !mkdir -p /home/oracle/oradata/test01   SQL> CREATE TEMPORARY TABLESPACE VoiceInsight_Temp TEMPFILE '/home/oracle/oradata/test01/testTMP.dbf' SIZE 32MAUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL; Tablespace created. ===============================================================================

相关文章
相关标签/搜索