win下外部(externally)验证测试过程

n年前测试成功过,最近至少1年一直都无法成功,尤其是讲课时成功不了很痛苦,今天把各种情况组合了一下,最后得出成功的配置步骤。[@more@]

SQL> SHOW PARAMETER OS

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj integer 100
os_authent_prefix string
os_roles boolean FALSE
remote_os_authent boolean FALSE
remote_os_roles boolean FALSE
timed_os_statistics integer 0
--注意一定要把os_authent_prefix的default值OPS$改成null(去掉)
SQL> host hostname
xys
SQL> create user "XYSWCH" identified externally;

用户已创建。
--注意双引号中的机器名用户名一定要大写
SQL> grant dba to "XYSWCH";

授权成功。

SQL> connect /
已连接。
SQL> show user
USER 为 "XYSWCH"
SQL> select username from dba_users;

USERNAME
------------------------------
MGMT_VIEW
SYS
SYSTEM
DBSNMP
SYSMAN
XYSWCH
OUTLN
WMSYS
TSMSYS
DIP

已选择10行。

SQL>
--最后注意:
1、一定要在注册表中加入AUTH_PREFIX_DOMAIN=false
2、一定要为windows登陆用户(这里是wch)设置密码,不设置没测试是否好用
只要上面的各种条件都满足了才能实现外部验证配置成功。
测试环境:
os:windows xp home edition 2002 service pack3
oracle:
SQL> select * from v$version where rownum=1;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

--====================================

晕死了,刚才又测试了一下恢复参数os_authent_prefix的default值OPS$,居然又好用,真不知道以前测试时犯的是啥毛病:

SQL> alter system set os_authent_prefix=OPS$ scope=spfile;

系统已更改。

SQL> shutdown immediate
ORA-01031: 权限不足
SQL> show user
USER 为 "XYSWCH"
SQL> connect / as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 67110244 bytes
Database Buffers 96468992 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter os

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj integer 100
os_authent_prefix string OPS$
os_roles boolean FALSE
remote_os_authent boolean FALSE
remote_os_roles boolean FALSE
timed_os_statistics integer 0
SQL> connect /
ERROR:
ORA-01017: 用户名/口令无效; 登录被拒绝


警告: 您不再连接到 ORACLE。

--很显然,恢复参数os_authent_prefix=OPS$的default值之后,创建的用户XYSWCHD使用外部验证登陆不了了。
SQL> connect / as sysdba
已连接。
SQL> create user "OPS$XYSWCH" identified externally;

用户已创建。

SQL> grant dba to "OPS$XYSWCH";

授权成功。

SQL> connect /
已连接。
SQL> show user
USER 为 "OPS$XYSWCH"
--===============================================
--再次把参数os_authent_prefix的值设置为null发现用户XYSWCH又可以连接了
SQL> connect / as sysdba
已连接。
SQL> alter system set os_authent_prefix=' scope=spfile;

系统已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 67110244 bytes
Database Buffers 96468992 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
数据库已经打开。
SQL> connect /
已连接。
SQL> show user
USER 为 "XYSWCH"
SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-1021297/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/19602/viewspace-1021297/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值