Oracle操作系统认证
默认情况下,在Oracle的主机上(linux系统)的Oracle操作系统用户下,以sys用户登陆数据库时可以不用输入密码直接登录。实际上,只要是属于dba组(linux)或osdba组(windows)下,都可以不用密码进行登录。这是认证方式称为OS认证。
这种登录方式的控制,是通过$ORACLE_HOME/network/admin/sqlnet.ora中的:
SQLNET.AUTHENTICATION_SERVICES
参数来控制的。有三个值可取:
1、NTS。这个参数是主机操作系统是windows的时候专用的。当在windows上设置该参
数后,即可进行OS认证。需要注意的是,该参数是windows专用的。如果oracle是
装在unix类系统上,OS认证都会失败的。
2、NONE。表示不做操作系统认证,即要求输入密码。
3、ALL。即所有认证方式都可以。
所以要在主机上进行os认证直接登录sys as sysdba,只要设定为ALL或者不设定该参数(
即注释掉该行)就行了。
如果要禁止OS认证,则只要设置为NONE即可。
题外话:
关于OS认证的,其实一开始与remote_login_passwordfile混淆起来了。
1、OS认证是指主机上安装Oracle的用户的管理员登录认证方式。
2、当这个管理员尝试通过网络来登录Oracle DB时,将会失败。(以网络方式登录数据库,即使通过将非常不安全的参数remote_os_authent设置为true,操作系统认证也不会生效。)
要允许远程管理员sys登录数据库,则要求设置
remote_login_passwordfile = exclusive
然后创建passowrd file:
orapwd file=orapw$ORACLE_SID passwd=passwd entries=10 force=y
需要注意的是这里的password file文件命名需要符合特定的这个格式,如果命名不对,系统将会找不到这个密码文件,而产生:
08:38:36 idle> grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
上面这个错误。也就导致了sysdba或者管理员用户不能远程登录数据库。
要检查是否已经将sys用户放入密码文件,可以查询:
08:49:04 idle> select * from v$pwfile_users;
USERNAME SYSDBA SYSOPER
--------------- --------------- -------------------
SYS TRUE &
相关文档:
oracle如何记录用户的登陆信息
可以做一个触发器
用以下的方式可以监控登入登出的用戶:
创建一张记录登录TABLE,如下:
CREATE TABLE SYSTEM.LOGIN_LOG
(
SESSION_ID &nb ......
Oracle中添加Job
--每15分钟 trunc(sysdate+1/96,'MI')/*5:Mins*/ sysdate + 5/(60*24)
SQL> variable jobno number;
SQL> begin
2 dbms_job.submit(:jobno,'存储过程名;',sysdate,'/*1:Hr*/ sysdate + 1/24' );
3 commit;
4 end;
5 /
......
关于Oracle的session
1.如何查看session级的等待事件?
当我们对数据库的性能进行调整时,一个最重要的参考指标就是系统等待事件。$system_event,v$session_event,v$session_wait这三个视图里记录的就是系统级和session级的等待事件,通过查询这些视图你可以发现数据库的一些操作到底在等 ......
解决Oracle EM无法启动
ORACLE 11g, EM 无法启动的问题,可能是IP更改了的原因,所以我使用了EMCA命令重新配置了一下ORACLE EM,具体过程如下:
I:\Documents and Settings\geshaoqing>emca -config dbcontrol db -repos recreate
EMCA 开始于 2007-10-12 11:16:40
EM Configuration Assistant 10.2.0.1.0 正式 ......
1、字符集的一些基本知识
字符集有很多种,最初的字符集是ASCII,由于ASCII支持的字符很有限,因此随后又出现了很多的编码方案,这些编码方案大部分都是包括了ASCII的。EBCDIC编码是另一个比较基本的编码,它的部分字符采用了和ASCII不同的编码值,因此两者是不兼容的基本编码方案。采用EBCDIC编码的比 ......