ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 11755|回复: 26

[FAQ] WINDOWS环境下如何使用操作系统认证登录ORACLE数据库 [复制链接]

精华贴数
8
技术积分
49197
社区积分
22305
注册时间
2001-10-15
论坛徽章:
184
蜘蛛蛋
日期:2012-02-03 17:20:24迷宫蛋
日期:2011-12-20 08:39:39茶鸡蛋
日期:2011-12-01 22:49:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41咸鸭蛋
日期:2012-01-06 16:55:17蜘蛛蛋
日期:2011-10-20 15:51:252012新春纪念徽章
日期:2012-01-04 11:49:54迷宫蛋
日期:2011-10-29 11:12:59复活蛋
日期:2011-12-14 09:37:30灰彻蛋
日期:2011-12-30 14:51:36ITPUB年度最佳版主
日期:2011-12-28 15:24:18紫蛋头
日期:2011-08-31 10:57:28
发表于 2003-9-30 10:32:40 |显示全部楼层
前言:文章不是自创,是学习总结篇!

很久以来就想写搞清楚这个规律,但总一直拖的,
最近BITI写了篇LINUX环境下的测试步骤!
有网友就说,WINDOWS环境下测试不成功,本想
解释,但没经测试,不敢妄下结论,碰巧又很忙,
拖到现在,经测试,自己才有个清晰的轮廓!

简单写上几句,解释一下原因!


测试环境   操作系统 WINDOWS2000  SERVER SP2  ORACLE9201

操作步骤

1、修改初始化文件 os_authent_prefix = '',然后重启动数据库!


2、修改注册表!往注册表里添加上此字串值 OSAUTH_PREFIX_DOMAIN = FALSE


3、在数据库里创建一用户NIU

   CREATE USER NIU IDENTIFIED EXTERNALLY;
   
   赋予给用户一些权限,如:
   
   GRANT CONNECT TO NIU;
   
   D:\ORACLE\BIN>sqlplus

   SQL*Plus: Release 9.2.0.1.0 - Production on Mon Sep 29 10:32:23 2003

   Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

   Enter user-name: / as sysdba

   Connected to:
   Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
   With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
   JServer Release 9.2.0.1.0 - Production

   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     TRUE
   remote_os_roles                      boolean     FALSE
   timed_os_statistics                  integer     0
   SQL> create user niu identified externally;

   User created.

   SQL> grant connect to niu;

   Grant succeeded.

   SQL>
   
   
4、创建一操作系统用户NIU

5、以NIU用户登录操作操作系统

6、尝试这样登录 connect /      
      SQL> connect /
      connected
      SQL> show user;
      USER is "NIU"
      SQL>      

7、通常情况下,数据库用户登录后,即使没有ALTER USER 的权限,也是可以修改自己密码的,
   但若是以此认证方式登录数据库,则不可以(未经确认,只是尝试失败得到的结论,但仔细想
   想,这样要求也合理)

   Microsoft Windows 2000 [Version 5.00.2195]
   (C) 版权所有 1985-2000 Microsoft Corp.

   C:\Documents and Settings\NIU>D:

   D:\>CD ORACLE

   D:\oracle>CD BIN

   D:\oracle\bin>SQLPLUS

   SQL*Plus: Release 9.2.0.1.0 - Production on Mon Sep 29 10:49:23 2003

   Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

   Connected to:
   Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
   With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
   JServer Release 9.2.0.1.0 - Production

   SQL> SHOW USER
   USER is "NIU"
   SQL> ALTER USER NIU IDENTIFIED BY NIU;
   ALTER USER NIU IDENTIFIED BY NIU
   *
   ERROR at line 1:
   ORA-01031: insufficient privileges


   SQL> CONNECT SCOTT/TIGER
   Connected.
   SQL> select * from session_privs;

   PRIVILEGE
   ----------------------------------------
   CREATE SESSION
   ALTER SESSION
   UNLIMITED TABLESPACE
   CREATE TABLE
   CREATE CLUSTER
   CREATE SYNONYM
   CREATE VIEW
   CREATE SEQUENCE
   CREATE DATABASE LINK
   CREATE PROCEDURE
   CREATE TRIGGER

   PRIVILEGE
   ----------------------------------------
   CREATE TYPE
   CREATE OPERATOR
   CREATE INDEXTYPE

   14 rows selected.
   以上信息说明SCOTT用户没有ALTER USER的权限!但
   SQL>
   SQL> ALTER USER SCOTT IDENTIFIED BY DDD;

   User altered.
   
说明:注册表参数 OSAUTH_PREFIX_DOMAIN = FALSE 是 WINDOWS环境下,能否使用
      操作系统认证数据库登录的关键,默认情况下,为TRUE,这造成WIDNOWS环境
      下无法使用操作系统认证数据库登录的原因!需要在注册表里加上此参数,
      方可使用此方法!

版主

版主

精华贴数
13
技术积分
64021
社区积分
4256
注册时间
2002-2-20
论坛徽章:
154
ITPUB元老
日期:2005-02-28 12:57:002010新春纪念徽章
日期:2010-03-01 11:06:28设计板块每日发贴之星
日期:2010-03-05 01:01:042010年世界杯参赛球队:科特迪瓦
日期:2010-06-17 10:26:542010年世界杯参赛球队:日本
日期:2010-06-17 17:27:47ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08
发表于 2003-9-30 12:54:50 |显示全部楼层
up

使用道具 举报

版主

版主

精华贴数
14
技术积分
51562
社区积分
3299
注册时间
2001-12-29
论坛徽章:
202
蛋疼蛋
日期:2011-12-18 19:12:152012新春纪念徽章
日期:2012-01-04 11:49:54灰彻蛋
日期:2012-02-02 17:30:18蛋疼蛋
日期:2011-08-25 16:17:18蜘蛛蛋
日期:2011-05-10 13:07:01茶鸡蛋
日期:2011-05-10 13:05:16灰彻蛋
日期:2011-05-10 13:03:12现任管理团队成员
日期:2011-05-07 01:45:08SQL大赛参与纪念
日期:2011-04-13 12:08:17ITPUB年度最佳版主
日期:2011-04-08 18:37:09ITPUB技术丛书作者
日期:2010-09-26 15:24:56BLOG每周发帖之星
日期:2010-05-09 01:35:44
发表于 2004-3-25 11:40:02 |显示全部楼层
好文章,解决了我好长时间的困惑。
下午试试看。

使用道具 举报

版主

版主

精华贴数
14
技术积分
51562
社区积分
3299
注册时间
2001-12-29
论坛徽章:
202
蛋疼蛋
日期:2011-12-18 19:12:152012新春纪念徽章
日期:2012-01-04 11:49:54灰彻蛋
日期:2012-02-02 17:30:18蛋疼蛋
日期:2011-08-25 16:17:18蜘蛛蛋
日期:2011-05-10 13:07:01茶鸡蛋
日期:2011-05-10 13:05:16灰彻蛋
日期:2011-05-10 13:03:12现任管理团队成员
日期:2011-05-07 01:45:08SQL大赛参与纪念
日期:2011-04-13 12:08:17ITPUB年度最佳版主
日期:2011-04-08 18:37:09ITPUB技术丛书作者
日期:2010-09-26 15:24:56BLOG每周发帖之星
日期:2010-05-09 01:35:44
发表于 2004-3-25 12:28:13 |显示全部楼层
我试了,怎么没有成功?
那一项添加在注册表什么位置?

使用道具 举报

精华贴数
8
技术积分
49197
社区积分
22305
注册时间
2001-10-15
论坛徽章:
184
蜘蛛蛋
日期:2012-02-03 17:20:24迷宫蛋
日期:2011-12-20 08:39:39茶鸡蛋
日期:2011-12-01 22:49:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41咸鸭蛋
日期:2012-01-06 16:55:17蜘蛛蛋
日期:2011-10-20 15:51:252012新春纪念徽章
日期:2012-01-04 11:49:54迷宫蛋
日期:2011-10-29 11:12:59复活蛋
日期:2011-12-14 09:37:30灰彻蛋
日期:2011-12-30 14:51:36ITPUB年度最佳版主
日期:2011-12-28 15:24:18紫蛋头
日期:2011-08-31 10:57:28
发表于 2004-3-25 12:42:44 |显示全部楼层
有些时间,不太记得了。放到 HOME0 下试试。

使用道具 举报

版主

仙人抚我须 结发授长生

精华贴数
14
技术积分
47701
社区积分
5504
注册时间
2002-7-17
论坛徽章:
48
ITPUB元老
日期:2005-07-16 18:49:11授权会员
日期:2005-10-30 17:05:33ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44现任管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
发表于 2004-3-25 13:43:54 |显示全部楼层
看来楼主是成功啦,但偶测试没有成功。

[B]
1、修改初始化文件 OSAUTH_PREFIX_DOMAIN = '',然后重启动数据库!
[/B]

这个应该是os_authent_prefix吧?

使用道具 举报

注册会员

just do it

精华贴数
1
技术积分
7389
社区积分
111
注册时间
2002-11-21
论坛徽章:
11
会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2006-04-24 14:03:07授权会员
日期:2006-04-24 13:56:42ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:虎
日期:2008-01-02 17:35:53CTO参与奖
日期:2009-01-15 11:42:46
发表于 2004-3-26 22:02:11 |显示全部楼层
最初由 xzh2000 发布
[B]看来楼主是成功啦,但偶测试没有成功。

[B]
1、修改初始化文件 OSAUTH_PREFIX_DOMAIN = '',然后重启动数据库!
[/B]

这个应该是os_authent_prefix吧? [/B]



大师试一下这个
http://www.itpub.net/showthread.php?s=&threadid=207909

使用道具 举报

注册会员

一般会员

精华贴数
0
技术积分
218
社区积分
111
注册时间
2004-2-28
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442008北京奥运纪念徽章:跆拳道
日期:2008-07-18 13:35:372010年世界杯参赛球队:乌拉圭
日期:2010-05-04 13:54:55
发表于 2004-3-27 08:48:03 |显示全部楼层
谢谢,好文章

使用道具 举报

注册会员

中级会员

精华贴数
0
技术积分
324
社区积分
2
注册时间
2002-12-23
论坛徽章:
0
发表于 2004-3-27 14:12:01 |显示全部楼层
CREATE USER "OPS$P1WEB\ADMINDB01" IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;

GRANT CREATE SESSION, exp_full_database TO "OPS$P1WEB\ADMINDB01";

Then it can be used in exp/imp, e.g.,

$ exp / owner=xxx file=exp.dmp

or,

$ sqlplus /
sql>

- Note:

1. username needs to be all UPPER case enclosed in quotes. In the above example, 'P1WEB\ADMINDB01' is the domain account logged on the database server.

2. On Windows NT, ensure 'sqlnet.authentication_services=(nts)' is in sqlnet.ora on the server, otherwise ora-01004.

3. 'remote_os_authent=true' is not necessary for init.ora, unless you want to connect from a client by OS authentication.

使用道具 举报

注册会员

LiGuang

精华贴数
2
技术积分
1176
社区积分
599
注册时间
2003-4-25
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
发表于 2004-3-27 15:39:29 |显示全部楼层
大家的是在两台电脑上试验的吗
我的配置和大家的不同但一样能用

C:\Documents and Settings\one>type K:\oracle\10\NETWORK\ADMIN\sqlnet.ora
# sqlnet.ora Network Configuration File: K:\oracle\10\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

#SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)


C:\Documents and Settings\one>sqlplus /

SQL*Plus: Release 10.1.0.2.0 - Production on 星期六 3月 27 15:27:59 2004

Copyright (c) 1982, 2004, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

ops$lee@one.lg.ora10 >show parameter remote_os_authent

NAME                                 TYPE        VALUE_COL_PLUS_SHOW_PARAM
------------------------------------ ----------- ----------------------------------
remote_os_authent                    boolean     TRUE
ops$lee@one.lg.ora10 >show parameter os_authent_prefix

NAME                                 TYPE        VALUE_COL_PLUS_SHOW_PARAM
------------------------------------ ----------- ----------------------------------
os_authent_prefix                    string      ops$
ops$lee@one.lg.ora10 >

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部