ORACLE11g 登陆问题求解 ORACLE服务器账户 system 账户,,原来是使用 ALTER 命令更改了密码,更改后一段时间是可以登陆的。突然某一天登陆时 就不行了,可以确认密码没有错 出现 是什么原因 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 出现图片 内容是“ORA-01031:insufficient privileges” 可能是口令过期了。使用dba直接登录,再次修改system帐户口令。 这个我试过了 我用sys账户登陆 改了system账户的密码 依然是不行 目前看提示的错误是权限不够,可以是system用户的权限被回收了。查看一下,默认情况下system用户都具有哪些角色和权限,再使用sys用户重新分配一下。 1。检查sqlnet.ora 文件. sqlnet.ora 文件损坏或格式不对可以导致出现该问题。 sqlnet.ora 文件可能存放路径为 $TNS_ADMIN/sqlnet.ora 如果没有设置$TNS_ADMIN默认在$ORACLE_HOME/network/admin/sqlnet.ora 或 $HOME/sqlnet.ora (1). 可以从别的机器拷贝一个文件过来,注意备份原来的sqlnet.ora。 ---检查sqlnet.ora 文件内容 (2). 检查SQLNET.AUTHENTICATION_SERVICES 如果没有使用dblink.检查该行并设置 SQLNET.AUTHENTICATION_SERVICES = (BEQ,NONE) (3). SQLNET.CRYPTO_SEED 在unix 下不需要该参数。如果存在该行,注释掉或删掉 (4).AUTOMATIC_IPC 如果该参数为 ON,将强制使用"TWO_TASK" 连接 最好设置为OFF AUTOMATIC_IPC = OFF 2.检查相关文件的权限配置。 找到$TNS_ADMIN/* $ cd $TNS_ADMIN $ chmod 644 sqlnet.ora tnsnames.ora listener.ora $ ls -l sqlnet.ora tnsnames.ora listener.ora -rw-r--r-- 1 oracle dba 1628 Jul 12 15:25 listener.ora -rw-r--r-- 1 oracle dba 586 Jun 1 12:07 sqlnet.ora -rw-r--r-- 1 oracle dba 82274 Jul 12 15:23 tnsnames.ora 3.检查操作系统相关设置。 (1). $ORACLE_HOME环境变量是否设置正确 % cd $ORACLE_HOME % pwd 如果错误,请重新设置: sh or ksh: ---------- $ ORACLE_HOME=<path_to_ORACLE_HOME> $ export ORACLE_HOME Example: $ ORACLE_HOME=/u01/app/oracle/product/7.3.3 $ export ORACLE_HOME csh: ---- % setenv ORACLE_HOME <path_to_ORACLE_HOME> Example: % setenv ORACLE_HOME /u01/app/oracle/product/7.3.3 另外$ORACLE_HOME路径应为实际路径,不应是目录连接(ln -s) (2) $ORACLE_SID是否设置正确; % echo $ORACLE_SID (3).确信没有设置$TWO_TASK 检查 "TWO_TASK" 是否设置: sh, ksh or on HP/UX only csh: ----------------------------------- env |grep -i two - or - echo $TWO_TASK csh: ---- setenv |grep -i two 如果有返回行比如: TWO_TASK= - or - TWO_TASK=PROD 就需要取消着这些环境变量设置 : sh or ksh: ---------- unset TWO_TASK csh: ---- unsetenv TWO_TASK (4) 检查oracle 文件的权限: % cd $ORACLE_HOME/bin % ls -l oracle 权限应为:rwsr-s--x, or 6751. 如果不是: % chmod 6751 oracle (5). 检查当前所连接的操作系统用户是否是"osdba" 并且已经定义在: "$ORACLE_HOME/rdbms/lib/config.s" or "$ORACLE_HOME/rdbms/lib/config.c". 通常应为dba % id uid=1030(oracle) gid=1030(dba) 可以如果"gid" 是 "dba" , "config.s" or "config.c" 里面应该有: /* 0x0008 15 */ .ascii "dba\0" 如果没有添加目前的操作系统用户到dba 组,或则手工编辑更改config.c并且:%relink oracle (6).所需要的文件系统是否正确mount %mount (7) 目前身份是否是"root" 并且操作系统环境变量 "USER", "USERNAME", and "LOGNAME" 没有设置成"root". root用户是特例,除非当前组是dba 组,否则不能connect internal. 把root用户当前组改为dba组: # newgrp dba -----最好不要以root管理数据库; (8).检查"/etc/group" : 是否存在重复行 % grep dba /etc/group dba::1010: dba::1100: 如果有,删掉没有用的。 (9).确信停掉的instance没有占用内存资源 比如:ipcs -b T ID KEY MODE OWNER GROUP SEGSZ Shared Memory: m 0 0x50000ffe --rw-r--r-- root root 68 m 1601 0x0eedcdb8 --rw-r----- oracle dba 4530176 可以看到1601 被oracle 使用,删掉. -------注意是否启动了多个instance % ipcrm -m 1601 (10).如果同时还有ora-12705 错误检查一下环境变量: "ORA_NLS", "ORA_NLS32", "ORA_NLS33" ,"NLS_LANG". (11).检查 "ORACLE_HOME" and "LD_LIBRARY_PATH 环境变量: $ LD_LIBRARY_PATH=$ORACLE_HOME/lib $ export LD_LIBRARY_PATH $ ORACLE_HOME=/u01/app/oracle/product/8.0.4 $ export ORACLE_HOME (12).当前的instance 所再的磁盘是否有足够的磁盘空间 df -k (13).用户对/etc/passwd 是否有读权限。 (14).如果使用mts 方式,确信你的连接使用dedicade server 方式。 (15).安装ORACLE所需操作系统补丁是否打全。ORACLE 是否已经补丁到最新 高分求助!oracle导入dmp问题 ORACLE 数据库实例连接错误 IMPDP network_link 报ora-39149错误 请教一个很怪的oracle数据库移植问题!!,请高手帮忙啊!不知是什么原因? 谁能提供一个oracle海量数据的分页存储过程啊,谢谢了啊 求教oracle高手 Oracle的数据类型TIMESTAMP主要应用在那些方面 如何查询帮助 如何在特定模式中分析全部表? 行级锁定的判断 虚拟机怎么访问windows下的oracle数据库啊 Oracle里面 逻辑运算符 NOT AND
查看一下,默认情况下system用户都具有哪些角色和权限,再使用sys用户重新分配一下。
sqlnet.ora 文件损坏或格式不对可以导致出现该问题。
sqlnet.ora 文件可能存放路径为
$TNS_ADMIN/sqlnet.ora
如果没有设置$TNS_ADMIN默认在$ORACLE_HOME/network/admin/sqlnet.ora
或
$HOME/sqlnet.ora
(1). 可以从别的机器拷贝一个文件过来,注意备份原来的sqlnet.ora。
---检查sqlnet.ora 文件内容
(2). 检查SQLNET.AUTHENTICATION_SERVICES
如果没有使用dblink.检查该行并设置
SQLNET.AUTHENTICATION_SERVICES = (BEQ,NONE)
(3). SQLNET.CRYPTO_SEED
在unix 下不需要该参数。如果存在该行,注释掉或删掉
(4).AUTOMATIC_IPC
如果该参数为 ON,将强制使用"TWO_TASK" 连接
最好设置为OFF
AUTOMATIC_IPC = OFF
2.检查相关文件的权限配置。
找到$TNS_ADMIN/*
$ cd $TNS_ADMIN
$ chmod 644 sqlnet.ora tnsnames.ora listener.ora
$ ls -l sqlnet.ora tnsnames.ora listener.ora
-rw-r--r-- 1 oracle dba 1628 Jul 12 15:25 listener.ora
-rw-r--r-- 1 oracle dba 586 Jun 1 12:07 sqlnet.ora
-rw-r--r-- 1 oracle dba 82274 Jul 12 15:23 tnsnames.ora
3.检查操作系统相关设置。
(1). $ORACLE_HOME环境变量是否设置正确
% cd $ORACLE_HOME
% pwd
如果错误,请重新设置:
sh or ksh: ----------
$ ORACLE_HOME=<path_to_ORACLE_HOME>
$ export ORACLE_HOME
Example:
$ ORACLE_HOME=/u01/app/oracle/product/7.3.3
$ export ORACLE_HOME
csh: ----
% setenv ORACLE_HOME <path_to_ORACLE_HOME> Example:
% setenv ORACLE_HOME /u01/app/oracle/product/7.3.3
另外$ORACLE_HOME路径应为实际路径,不应是目录连接(ln -s)
(2) $ORACLE_SID是否设置正确;
% echo $ORACLE_SID
(3).确信没有设置$TWO_TASK
检查 "TWO_TASK" 是否设置:
sh, ksh or on HP/UX only csh:
-----------------------------------
env |grep -i two
- or -
echo $TWO_TASK
csh:
----
setenv |grep -i two
如果有返回行比如:
TWO_TASK=
- or -
TWO_TASK=PROD
就需要取消着这些环境变量设置 :
sh or ksh:
----------
unset TWO_TASK
csh:
----
unsetenv TWO_TASK
(4) 检查oracle 文件的权限:
% cd $ORACLE_HOME/bin
% ls -l oracle
权限应为:rwsr-s--x, or 6751.
如果不是:
% chmod 6751 oracle
(5). 检查当前所连接的操作系统用户是否是"osdba" 并且已经定义在:
"$ORACLE_HOME/rdbms/lib/config.s"
or
"$ORACLE_HOME/rdbms/lib/config.c".
通常应为dba
% id uid=1030(oracle) gid=1030(dba)
可以如果"gid" 是 "dba" , "config.s" or "config.c"
里面应该有: /* 0x0008 15 */ .ascii "dba\0"
如果没有添加目前的操作系统用户到dba 组,或则手工编辑更改config.c并且:%relink oracle
(6).所需要的文件系统是否正确mount
%mount
(7) 目前身份是否是"root" 并且操作系统环境变量 "USER", "USERNAME", and "LOGNAME" 没有设置成"root".
root用户是特例,除非当前组是dba 组,否则不能connect internal.
把root用户当前组改为dba组:
# newgrp dba
-----最好不要以root管理数据库;
(8).检查"/etc/group" :
是否存在重复行
% grep dba /etc/group
dba::1010:
dba::1100:
如果有,删掉没有用的。
(9).确信停掉的instance没有占用内存资源
比如:ipcs -b
T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:
m 0 0x50000ffe --rw-r--r-- root root 68
m 1601 0x0eedcdb8 --rw-r----- oracle dba 4530176
可以看到1601 被oracle 使用,删掉.
-------注意是否启动了多个instance
% ipcrm -m 1601
(10).如果同时还有ora-12705 错误检查一下环境变量:
"ORA_NLS", "ORA_NLS32", "ORA_NLS33" ,"NLS_LANG".
(11).检查 "ORACLE_HOME" and "LD_LIBRARY_PATH 环境变量:
$ LD_LIBRARY_PATH=$ORACLE_HOME/lib
$ export LD_LIBRARY_PATH
$ ORACLE_HOME=/u01/app/oracle/product/8.0.4
$ export ORACLE_HOME
(12).当前的instance 所再的磁盘是否有足够的磁盘空间
df -k
(13).用户对/etc/passwd 是否有读权限。
(14).如果使用mts 方式,确信你的连接使用dedicade server 方式。
(15).安装ORACLE所需操作系统补丁是否打全。ORACLE 是否已经补丁到最新