在Oracle 10g中设置Windows
设置步骤总结:
1. 浏览\%ORACLE_HOME%\network\admin文件夹下的sqlnet.ora文件。
使用适当的信息编辑sqlnet.ora文件。
在数据库中创建与Windows用户IDs匹配的普通用户。
将数据库用户添加到适当的数据库角色。
将Windows用户添加到ORA_DBA或者ORA_OPER组中以授予适当的管理访问权限。
在Oracle 10g中设置Windows验证:
1. 您必须浏览%ORACLE_HOME%\network\admin文件夹下的sqlnet.ora文本配置文件来启用Windows验证。(%ORACLE_HOME%是Oracle的安装位置)
sqlnet.ora文件内容如图10所示,使用该文件配置如何建立到服务器的连接。

图10:sqlnet.ora文件
修改sqlnet.ora文件中NAMES.DIRECTORY_PATH的设置,使之接受ORA_DBA或者ORA_OPER用户:
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
NAMES.DIRECTORY_PATH用于控制客户端工具如何连接到Oracle服务器。添加HOSTNAME将确保您能够在基于DNS的Windows环境中查找到服务器。
将SQLNET.AUTHENTICATION_SERVICES修改为下面的值:
SQLNET.AUTHENTICATION_SERVICES= (NONE, NTS)
设置SQLNET.AUTHENTICATION_SERVICES参数最初是为了通过NTS配置来支持Windows验证,但是该设置会导致很多应用程序失败,因为Oracle验证还没有启用。添加参数None将启用Oracle和Windows验证,类似于创建了一个混合模式的安全验证。
要想使Windows用户拥有DBA和Operators权限,必须确认系统中存在ORA_DBA和ORA_OPER的Windows组。
将用户添加到ORA_DBA组意味着该用户是数据库管理员;如果用户需要执行诸如备份数据库之类的操作,那么将用户添加到ORA_OPER组。可以使用Oracle Administration Assistant for Windows将用户添加到组,或者创建组。
从Configuration and Migration Tools菜单中选择Oracle Administration Assistant for Windows NT.
右键单击OS Database Operators组,然后从图11所示的菜单中选择Add\Remove…

图11:Add/Remove… 选项
在OS Database Operators对话框中选择用户和域,然后单击Add按钮,点击OK。

图12:选择域和Windows用户
如果是非DBA类型的角色,您需要在数据库中创建一个和现有的Windows用户名相同的用户。
确保将init.ora文件(%ORACLE_HOME%\database文件夹)中下面的参数设置为:
os_authent_prefix = “”
如果改变了该参数值,则必须重启Oracle。
使用下面的命令创建数据库用户(用户名必须全部大写):
create user "HOME\AMYJ" identified externally;
grant create session to "HOME\AMYJ";
该命令在Oracle中创建名为HOME\AMYJ的用户并且有一个对应的Windows用户。
正如您看到的一样,在Oracle 10g中设置安全选项要比在SQL Server中完成相同的任务复杂的多。
Oracle还提供了其他验证机制,但只针对那些Oracle 10g企业版并且额外付费购买了Oracle高级安全选项的客户。SQL Server通过和Windows的集成为用户提供这些选项并且不再需要其他费用。Oracle高级安全选项提供了在Oracle上支持SSO的集中身份验证,此外它还支持第三方诸如Kereberos、CyberSafe TrustBroker、SecurID、Identix、TouchNet II以及RADIUS等第三方验证协议。
注意:在Oracle 10g中设置用户验证比SQL Server复杂的多。