1.禁止操作系统认证登录
只需要在$ORACLE_HOME/network/admin下的sqlnet.ora中添加一句:SQLNET.AUTHENTICATION_SERVICES=NONE
2.禁止远程使用sysdba登录
有2种方法:
第一种是直接将remote_login_passwordfile设置为none.远程登录的时候会提示用户名密码错误
第二种是:(要做2步操作:)第一步是修改初始化参数remote_login_passwordfile=EXCLUSIVE,第二步是删除$ORACLE_HOME/dbs/orapwXXX的密码文件.远程登录的时候会提示用户没有权限
关于remote_login_passwordfile
1、NONE:不使用密码文件,特权用户的登录通过操作系统验证。
这就意味着此时不能够远程sysdba和sysoper登陆。
2、EXCLUSIVE:只有一个数据库实例可以使用此密码文件。
在此设置下的密码文件可以包含有除 SYS 以外的用户信息,即允许将系统权限 SYSOPER /SYSDBA 授予除 SYS 以外的其他用户。
如果密码文件被删除,这个时候远程sysdba登陆,就会报ORA-01031: insufficient privileges错误。
3、SHARED:可以有多个数据库实例使用此密码文件。
在此设置下只有 SYS 帐号能被密码文件识别,不允许将系统权限 SYSOPER /SYSDBA 授予除 SYS 以外的其他用户。
即使文件中存有其他用户的信息,也不允许他们以 SYSOPER /SYSDBA 的权限登录。