这篇文章主要讲解了“REMOTE_LOGIN_PASSWORDFILE参数的三种取值对系统有哪些影响”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“REMOTE_LOGIN_PASSWORDFILE参数的三种取值对系统有哪些影响”吧!在某些情况下可以使用REMOTE_LOGIN_PASSWORDFILE参数增强系统的安全性,所谓提高安全性就是禁止以SYSDBA或SYSOPER特权用户从客户端登陆到数据库系统中。这是一种牺牲管理便捷性为前提的。需酌情使用。1. 参考信息官方文档中有关REMOTE_LOGIN_PASSWORDFILE参数的描述:http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams179.htm#REFRN101842. REMOTE_LOGIN_PASSWORDFILE参数默认值及其行为特性分析1)REMOTE_LOGIN_PASSWORDFILE参数的默认值是EXCLUSIVEsys@ora10g> show parameter REMOTE_LOGIN_PASSWORDFILENAME TYPE VALUE————————– ———- ———————-remote_login_passwordfile string EXCLUSIVE2)尝试将SYSDBA特权授予给普通用户secoolersys@ora10g> grant sysdba to secooler;grant sysdba to secooler*ERROR at line 1:ORA-01994: GRANT failed: password file missing or disabled此处报错是由于密码文件丢失导致的,因为授予sysdba权限需要调整密码文件。3)手工创建丢失的密码文件ora10g@secdb /home/oracle$ cd $ORACLE_HOME/dbsora10g@secdb /oracle/app/oracle/product/10.2.0/db_1/dbs$ora10g@secdb /oracle/app/oracle/product/10.2.0/db_1/dbs$ orapwd file=orapwora10g password=oracle entries=104)再次尝试SYSDBA授权成功sys@ora10g> grant sysdba to secooler;Grant succeeded.5)密码文件的变化此时在密码文件中记录了这个授权的信息。ora10g@secdb /oracle/app/oracle/product/10.2.0/db_1/dbs$ strings orapwora10g][ZORACLE Remote Password fileINTERNALAB27B53EDC5FEF418A8F025737A9097ASECOOLER034E4342BB2D437D最后两行信息即是新增的内容。6)客户端连接性测试$ sqlplus secooler/secooler@ora10g as sysdbaSQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12月 21 21:48:34 2010Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – 64bit ProductionWith the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine optionsSQL> show user;USER 为 “SYS”SQL>注意,此处我们虽然使用的是普通用户secooler登录的数据库,但真实的用户名是SYS。因此我们便可以使用这种方法来管理数据库,这就是便捷所在。7)人为移除密码文件测试如果此时我们将密码文件删除,客户端将没有办法再以sysdba权限连接到数据库$ sqlplus secooler/secooler@ora10g as sysdbaSQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12月 21 21:53:50 2010Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.ERROR:ORA-01031: insufficient privileges请输入用户名:因此,通过REMOTE_LOGIN_PASSWORDFILE参数和密码文件共同实现了客户端以SYSDBA权限登录系统的目的。3. REMOTE_LOGIN_PASSWORDFILE参免费主机域名数NONE值及其行为特性分析1)调整参数REMOTE_LOGIN_PASSWORDFILE为NONEsys@ora10g> alter system set remote_login_passwordfile=none scope=spfile;System altered.sys@ora10g> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.sys@ora10g> startup;ORACLE instance started.Total System Global Area 835104768 bytesFixed Size 2257840 bytesVariable Size 549456976 bytesDatabase Buffers 281018368 bytesRedo Buffers 2371584 bytesDatabase mounted.Database opened.sys@ora10g> show parameter REMOTE_LOGIN_PASSWORDFILENAME TYPE VALUE————————– ———- ———————-remote_login_passwordfile string NONE2)调整后,客户端将无法发起连接$ sqlplus secooler/secooler@ora10g as sysdbaSQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12月 21 22:00:02 2010Copyright (c) 1982, 2006, Oracle. All Rights Reserved.ERROR:ORA-01017: invalid username/password; logon denied请输入用户名:3)SYSDBA权限的授予与回收亦是被禁止的(1)授权测试sys@ora10g> grant sysdba to secooler;grant sysdba to secooler*ERROR at line 1:ORA-01994: GRANT failed: password file missing or disabled注意,此处的报错原因是不是因为密码文件不存在,与前面曾经提到的报错信息有区别。(2)回收测试sys@ora10g> revoke sysdba from secooler;Revoke succeeded.此处虽然提示权限回收成功,但是实际上并没有生效,是无效操作。证明之。在此基础上调整参数为EXCLUSIVEsys@ora10g> alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;System altered.sys@ora10g> startup force;ORACLE instance started.Total System Global Area 835104768 bytesFixed Size 2257840 bytesVariable Size 549456976 bytesDatabase Buffers 281018368 bytesRedo Buffers 2371584 bytesDatabase mounted.Database opened.此时客户端依然能够成功登陆$ sqlplus secooler/secooler@172.17.193.211ora10g as sysdbaSQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12月 21 22:06:05 2010Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – 64bit ProductionWith the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine optionsSQL> show userUSER 为 “SYS”SQL>SQL> show parameter REMOTE_LOGIN_PASSWORDFILENAME TYPE VALUE———————————— ———– ——————————remote_login_passwordfile string EXCLUSIVE结论:因此证明了当REMOTE_LOGIN_PASSWORDFILE参数为NONE时回收SYSDBA权限是无效的。4.REMOTE_LOGIN_PASSWORDFILE参数SHARED值及其行为特性分析1)调整参数REMOTE_LOGIN_PASSWORDFILE为SHAREDsys@ora10g> alter system set remote_login_passwordfile=shared scope=spfile;System altered.sys@ora10g> startup force;ORACLE instance started.Total System Global Area 835104768 bytesFixed Size 2257840 bytesVariable Size 549456976 by免费主机域名tesDatabase Buffers 281018368 bytesRedo Buffers 2371584 bytesDatabase mounted.Database opened.sys@ora10g> show parameter remote_login_passwordfileNAME TYPE VALUE———————————— ———– ——————————remote_login_passwordfile string SHARED2)此时客户端的连接是不受限制的,连接通畅$ sqlplus secooler/secooler@ora10g as sysdbaSQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12月 21 22:08:04 2010Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – 64bit ProductionWith the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine optionsSQL>SQL> show userUSER 为 “SYS”3)此时服务器端授予和回收SYSDBA权限是不被允许的sys@ora10g> grant sysdba to secooler;grant sysdba to secooler*ERROR at line 1:ORA-01999: password file cannot be updated in SHARED modesys@ora10g> revoke sysdba from secooler;revoke sysdba from secooler*ERROR at line 1:ORA-01999: password file cannot be updated in SHARED mode5.小结在此总结一下在REMOTE_LOGIN_PASSWORDFILE参数取不同值时的行为特性。REMOTE_LOGIN_PASSWORDFILE参数可以有三种取值:EXCLUSIVE(默认)、NONE和SHARED。1)当取值为EXCLUSIVE时 允许客户端以SYSDBA或SYSOPER权限登录到数据库实例中完成数据库管理操作; 允许授予和回收SYSDBA或SYSOPER权限。2)当取值为NONE时 禁止客户端以SYSDBA或SYSOPER权限登录到数据库实例中完成数据库管理操作; 禁止授予和回收SYSDBA或SYSOPER权限。3)当取值为SHARED时 允许客户端以SYSDBA或SYSOPER权限登录到数据库实例中完成数据库管理操作; 禁止授予和回收SYSDBA或SYSOPER权限。以上便是参数REMOTE_LOGIN_PASSWORDFILE在不同取值情况下对系统的影响(本文是以SYSDBA特权为例,SYSOPER特权相同)。每一种取值都有其自己的应用场景。我们需要做的是根据不同的场景做出相应的取舍。感谢各位的阅读,以上就是“REMOTE_LOGIN_PASSWORDFILE参数的三种取值对系统有哪些影响”的内容了,经过本文的学习后,相信大家对REMOTE_LOGIN_PASSWORDFILE参数的三种取值对系统有哪些影响这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!
相关推荐: 数据库SQL Azure如何迁移到本地SQL Server
这篇文章主要介绍了数据库SQL Azure如何迁移到本地SQL Server,具有一定借鉴价值,感兴趣的朋友可以参考下,希望免费主机域名大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 通过SQLAzureMW工具,来实现SQL Databas…