文档详情

ORA-01031关于ORACLE认证模式的那些事.doc

发布:2017-06-07约5.48千字共10页下载文档
文本预览下载声明
DBA的思想天空 ORACLE专题 ORA-01031:关于ORACLE认证模式的那些事 17SEP ORA-01031:关于ORACLE认证模式的那些事 时间: 2013-9-17 分类: ORACLE专题 作者: Dennis 536 次浏览 TAGS: ORA-01031, ORACLE认证方式, 数据库安全 最近有童鞋在群里问出现ORA-01031: 权限不足的情况,这里专门写一下关于ORA-01031错误的产生以及ORACLE的认证模式的那些事情,这是一个比较基础的报错,文章比较适合初学者阅读,如果你是老鸟,拍砖,飞过! ORACLE提供的认证模式主要有以下: 1. 操作系统验证(匿名登录 不检验用户名和密码) conn / as sysdba既是操作系统认证 使用该模式的用户必须是dba组,且只能用在本地 如果需要远程,则需要监听及tnsnames文件支持 在类UNIX系统中 对于普通用户 添加到oinstall dba组中即可 如果只添加dba组也不可以 对于root用户 UNIX权限委派的第一步就是验证UID是否等于0 即使root用户添加到oinstall dba组也不能登录 记住,原则上不要用oracle以外的用户去操作oracle,这是习惯的一种规则! 2.密码文件认证 密码文件存储的位置 $ORACLE_HOME/dbs/orapw$ORACLE_SID 注意:修改密码文件时只是修改了密码文件中记录的密码,并没有修改数据字典中的密码!如果是使用 SQL alter user username identified by password; 即改变了修改了密码文件中的密码 又修改数据字典中的sys密码 Oracle数据库究竟使用OS认证还是口令文件认证来进行管理取决于下面三个因素: 1.SQLNET.ORA参数文件中的参数SQLNET.AUTHENTICATION_SERVICES设置 2.PFILE(SPFILE)参数文件中的参数REMOTE_LOGIN_PASSWORDFILE设置 3.口令文件orapw$SID(Linux) | PWD$SID.ora(Windows) 是否存在 关于SQLNET.AUTHENTICATION_SERVICES参数,在SQLNET.ORA(位于$ORACLE_HOME/network/admin目录中)文件中,取值有四种情况,当设置不同的参数时,验证权限也不同,需要根据实际情况进行配置,否则就有可能出现ORA-01031的情况 linux下 有none、all、nts、 不设置或BEQ 四种情况 下面分别测试: linux平台测试: 把密码文件修改成123,如下: [oracle@stream1 ~]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123 force=y 测试数据库的tnsnames文件设置: [oracle@stream1 admin]$ cat tnsnames.ora stream = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = stream) ) )pre 1、默认情况 没设置或者设置成BEQ pre[oracle@dba admin]$ grep -v # sqlnet.ora 结果是空白,里面所有的参数都是关闭状态,来连接看看情况: [oracle@stream1 admin]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Mon Sep 16 11:59:30 2013 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the
显示全部
相似文档