login是什么意思

更新时间:2022-11-26 14:55:30 阅读: 评论:0


2022年11月26日发(作者:甲壳虫乐队经典歌曲)

1、os认证

oracle安装之后默认情况下是启动os认证。os认证的意思是把登录到数据

库的用户和口令校验放在了操作系统一级。如果以安装oracle时的用户登录os,

那么登录oracle数据库时不需要任何验证如:

SQL>conntest/oracleassysdba

Connected.

SQL>conntest/oracle@orclassysdba

Connected.

SQL>conn/assysdba

Connected.

SQL>connss/ssassysdba

Connected.

SQL>connss/ss@orclassysdba

Connected.

SQL>conntest/ss@orclassysdba

Connected.

SQL>conntest/oracle@orclassysdba

Connected.

不论输入什么用户,那怕该用户不存在,只要一sysdba的权限连接都可以

连接,这样在虽然很方便但是很不安全。

这是我们可以把oracle_home/NETWORK/admin/中的

TICATION_SERVICES=(nts)nts改成none或者注释掉这句话(在

前面加上#),就可以屏蔽os功能,要想sys用户连接数据库必须输入正确的口

令,或者将该用户从ora_dba组删除。

TICATION_SERVICES=(NTS)|(NONE)|(ALL)

TICATION_SERVICES=(NTS):操作系统认证方式,不使用口令文

TICATION_SERVICES=(NONE):口令文件认证方式

TICATION_SERVICES=(ALL):两种都采用

2、参数remote_login_passwordfile

REMOTE_LOGIN_PASSWORDFILE=(NONE)|(EXCLUSIVE)|(SHARED)

REMOTE_LOGIN_PASSWORDFILE=(NONE):不使用口令文件,操作系统认证

REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE):口令文件认证方式,但只有一个数

据库实例可以使用此文件,

系统允许将SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用户,且以具有

这类身份的其他用户登录是有效的

REMOTE_LOGIN_PASSWORDFILE=(SHARED):口令文件认证方式,可有多个数据库实

例使用此文件,但是此设置下

只有INTERNAL/SYS帐号能被识别,即使文件中存有其他用户的信息,也不允许

他们以SYSOPER/SYSDBA登录

3,、oracle口令文件

oracle的口令文件的作用是存放所有已sysdba或者sysoper权限的连接数

据的用户,使用口令文件的好处就是,在数据关闭的情况下,依然可以通过口

令文件验证来连接数据库。客户端要以sysdba登录数据库也必须使用口令文件。

默认路径是(oracle_home/databa/)

(1)口令文件用户的查看,添加,删除

SQL>lect*fromv$pwfile_urs;

USERNAMESYSDBSYSOP

----------------------------------------

SYSTRUETRUE

TESTTRUEFALSE

SQL>revokesysdbafromtest;

Revokesucceeded.

SQL>lect*fromv$pwfile_urs;

USERNAMESYSDBSYSOP

----------------------------------------

SYSTRUETRUE

SQL>grantsysdbatotest;

Grantsucceeded.

SQL>lect*fromv$pwfile_urs;

USERNAMESYSDBSYSOP

----------------------------------------

SYSTRUETRUE

TESTTRUEFALSE

(2)口令文件的建立

C:\>ORAPWDFILE=<FILENAME>PASSWORD

=<PASSWORD>ENTRIES=FORCE=

----各命令参数的含义为:

----FILENAME:密码文件名;

----PASSWORD:设置INTERNAL/SYS帐号的口令;

----MAX_USERS:密码文件中可以存放的最大用户数

-----force:默认值是n,他的作用类似也创建表空间时的reu

(3)sys密码丢失的处理办法

首先要保证remote_login_passwordfile=shared

1).查询视图V$PWFILE_USERS,lect*fromV$PWFILE_USERS;

记录下拥有SYSOPER/SYSDBA系统权限的用户信息

2).关闭数据库shutdownimmediate

3).删除密码文件,文件路径一般为:ORACLE_HOME\DATABASE,文件名

为PWD.ORA

4).创建密码文件

ORAPWDFILE=<FILENAME>PASSWORD=<PASSWORD>

5).向密码文件中增加用户

CONNECTSYS/internal_ur_passswordASSYSDBA;

启动数据库实例并打开数据库;创建相应用户帐号,对其授权

授予权限:GRANTSYSDBATOur_name(如果先前数据库只有sys

具有sysdba权限,可不做这步)

6).修改密码文件状态,默认密码文件的状态shared,要将初始化参数里的

REMOTE_LOGIN_PASSWORDFILE设置成EXCLUSIVE

SQL>altersystemtremote_login_passwordfile=exclusive

scope=spfile;

4、总结

从上面的分析可以看出,当以sysdba/sysoper登录数据库时,主要是有

,口令文件,参数remote_login_passwordfile

决定的,所以

当TICATION_SERVICES=(NONE),

REMOTE_LOGIN_PASSWORDFILE=(NONE)是一定不可以以sysdba登录数据库的。

本文发布于:2022-11-26 14:55:30,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/25770.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图