查看: 3427|回复: 8

请教:ORA-28030

拉菲娱乐测速网址登入
论坛徽章:
0
跳转到指定楼层
1#
发表于 2003-4-3 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在一台win2000 professional  上装了oracle8.1.7
另一台sun e3000 solaris 上装了oracle8.1.7
打算在win2000上建个database link
select时报错:
ORA-28030: 服务器访问 LDAP 目录服务时遇到问题
oracle文档中的解释看不懂,不知如何下手!

问题:

If you are using Oracle Internet Directory as your ldap directory
我怎么判断是不是?局域网应该是吧?
Turn on tracing in Oracle Internet Directory. 怎么操作?

oidctl conn=oiddb1 server=oidldapd instance=2 stop
各参数意义怎样呢?在两台机子的oracle/bin目录下也都没有这个命令

请教大侠,怎么办?谢谢!

ORA-28030
This is a catch-all Oracle8i error that indicates something unanticipated went wrong with the RDBMS to LDAP directory query.

Tracing
You can use tracing to help debug. This is appropriate if the ldapbind (See: ORA-1017: Invalid username/password) fails, indicating that the directory's SSL instance is not working properly.

Oracle Internet Directory
If you are using Oracle Internet Directory as your ldap directory, use the following tracing procedure:

Turn on tracing in Oracle Internet Directory.

At the command line, stop the SSL Oracle Internet Directory instance, and restart it with debug flags ON:

oidctl conn=oiddb1 server=oidldapd instance=2 stop

oidctl conn=oiddb1 server=oidldapd instance=2 conf=1

flags="debug=65535" start

This starts up the SSL Oracle Internet Directory instance in full debug mode. Log files will be written to $ORACLE_HOME\ldap\log. Look at the file with an 02 and an s in its filename, because it is for the instance 2 server. The log files without the s are for the monitor process (oidmon) and the dispatcher. Look at the end of the log file immediately after you have tried your connect /@connect_identifier. One thing to look for is the string Distinguished Name to ensure that it matches the DN of your user.

To turn off Oracle Internet Directory tracing, restart via oidctl without the flags parameter.
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
2#
发表于 2003-4-3 09:58 | 只看该作者

ORA-28030: 服务器访问 LDAP 目录服务时遇到问题

sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES)

使用tnsnames.ora 访问数据库
论坛徽章:
0
3#
 楼主| 发表于 2003-4-3 13:57 | 只看该作者
sqlnet.ora中有这一句呀!
tnsnames.ora是配好的
通过sqlplus两个都可以连上

sqlnet.ora中还有一句
SQLNET.AUTHENTICATION_SERVICES= (NTS)
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
4#
发表于 2003-4-3 14:04 | 只看该作者

NAMES.DIRECTORY_PATH= (TNSNAMES)

只保留 TNSNAMES

把其他的先删除掉

应该是你可能曾经无意中设置过 net8  使得数据库认为你想通过 LDAP 访问数据库而不是 tnsnames 方式

检查你的sqlnet.ora / tnsnames.ora  文件
和你的  database link 创建是否正确
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
5#
发表于 2003-4-3 14:07 | 只看该作者

注意

database link 中使用的 using  服务名

这个服务名是你的  数据库所在服务器的 tnsnames而不是你的client 的
所以猜测在数据库服务器中没有找着  服务名
然后顺着  NAMES.DIRECTORY_PATH= (TNSNAMES,...........)   指定的搜索顺序去 LDAP ,ONAMES  什么里面去找访问方式
于是告诉你 LDAP 无法访问
论坛徽章:
0
6#
 楼主| 发表于 2003-4-3 18:44 | 只看该作者
sqlnet.ora中有这一句呀!
tnsnames.ora是配好的
通过sqlplus两个都可以连上

sqlnet.ora中还有一句
SQLNET.AUTHENTICATION_SERVICES= (NTS)
论坛徽章:
0
7#
 楼主| 发表于 2003-4-4 09:47 | 只看该作者

Re: 注意

最初由 biti_rainy 发布
[B]database link 中使用的 using  服务名

这个服务名是你的  数据库所在服务器的 tnsnames而不是你的client 的
所以猜测在数据库服务器中没有找着  服务名
然后顺着  NAMES.DIRECTORY_PATH= (TNSNAMES,...........)   指定的搜索顺序去 LDAP ,ONAMES  什么里面去找访问方式
于是告诉你 LDAP 无法访问 [/B]


仍然不行,配置如下:

windows(本机)中tnsnames.ora
#本机的
PCSDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.6)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = pcsdb)
    )
  )


#unix下的
PCSDB2 =                                                     
  (DESCRIPTION =                                             
    (ADDRESS_LIST =                                          
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
    )                                                        
    (CONNECT_DATA =                                          
      (SERVICE_NAME = pcsdb2)                                
    )                                                        
  )

windows下sqlnet.ora
# SQLNET.ORA Network Configuration File: d:\oracle\ora81\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

#SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES)
windows中数据库的create 语句:
create public database link PCSDB5
  connect to CURRENT_USER
  using 'PCSDB2';
两个库用户名密码都是一样的,用户权限都是DBA


unix下的sqlnet.ora
# SQLNET.ORA Network Configuration File: /opt/ORACLE/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES)

unix下的tnsnames.ora

PCSDB2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = e3000)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = pcsdb2)
    )
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
8#
发表于 2003-4-4 10:08 | 只看该作者

o

没有理由

怎么会尝试去使用 LDAP ?

CURRENT_USER
Specify CURRENT_USER to create a current user database link. The current user must be a global user with a valid account on the remote database for the link to succeed.

If the database link is used directly, that is, not from within a stored object, then the current user is the same as the connected user.


When executing a stored object (such as a procedure, view, or trigger) that initiates a database link, CURRENT_USER is the username that owns the stored object, and not the username that called the object. For example, if the database link appears inside procedure scott.p (created by scott), and user jane calls procedure scott.p, the current user is scott.


However, if the stored object is an invoker-rights function, procedure, or package, the invoker's authorization ID is used to connect as a remote user. For example, if the privileged database link appears inside procedure scott.p (an invoker-rights procedure created by scott), and user jane calls procedure scott.p, then CURRENT_USER is jane and the procedure executes with Jane's privileges.


create public database link PCSDB5
connect to   youruser  identified by yourpasss      ---------  do  not use current_user  ?
using 'PCSDB2';
论坛徽章:
0
9#
 楼主| 发表于 2003-4-4 10:34 | 只看该作者
拿下!!
你说的对,那样写之后,
再select数据时,报错02085,
改link name 为database name 后完成,
非常感谢!!

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
拉菲娱乐测速网址登入 申博网络现金网 返回列表
网站地图 伟德国际娱乐正网登入 优游娱乐登录登入 金牛国际娱乐平台登入
菲律宾申博官网 申博广东代理 126suncity.com 138申博988太阳城娱乐
哪个游戏是当前最火的棋牌游戏? 皇冠现金网注册送25 百益彩票上海11选5登入 万达彩票江苏11选5
金牛用网址登入 金牛国际顶级娱乐登入 拉菲2网址登入 杏彩娱乐最新网址登入
888大奖娱乐登入 优游娱乐注册登入 拉菲娱乐官网网址登入 同升国际官网登入
304psb.com XSB345.COM 188BBIN.COM 133DC.COM 589sj.com
5555XSB.COM 82ib.com 8NNS.COM 557XTD.COM 215SUN.COM
758DC.COM DC583.COM 414sun.com DC738.COM 8RAS.COM
984SUN.COM 1112933.COM 55sbmsc.com 22TGP.COM rq138.com