使用Oracle的客户端工具Net Configuration Assistant 配置数据库的本地Net服务名
或者
直接编辑 tnsnames.ora文件,
然后再次打开plsqldev ,就可以看到 数据库的 本地Net服务名 , 进行数据库连接了。
2. oracle PL/SQL里面, tnsnames.ora文件里面配置了之后, 在下拉列表框里面没有显示
有两种办法,第一种是在系统变量里添加path,第二种是在plsql里,看我的图
3. PLSQL Developer连接的是远程的数据库,查询时怎么设置表名前面不加数据库名
1.安装PLSQL Developer。
2.安装oracle instance client端。
3.启动PLSQL Developer ,选择cancle,no logged on。
4.选择tools》》preferences》》connection,在oracle home中输入安装好的oracle instance client目录,在OCI LIBRARY中输入oracle instance client 的OCI.dll文件的具体路径,如D:\data\database\instantclient-basic-nt-11.2.0.2.0\instantclient_11_2\oci.dll。
5.在oracle instance client根目录,如D:\data\database\instantclient-basic-nt-11.2.0.2.0\instantclient_11_2\中建立tnsnames.ora名字解析文件,在其中输入对应的oracle服务器解析规则信息,可参考oracle服务器端的tnsnames.ora文件内容,如:
连接名称(自定义)=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库服务器IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 数据库实例名)
)
)
6.设置环境变量:
添加tns解释文件环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\data\database\instantclient-basic-nt-11.2.0.2.0\instantclient_11_2\,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
添加oracle语言环境变量,添加环境变量:
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.AL32UTF8”,(CHINESE_CHINA.AL32UTF8 是ASCII编码类型,其它类型可自己到服务器看一下,在服务器上输入命令:select userenv('language') from al;)。
7.确定,重启程序,如果正常则可看到CONNECT AS XXX 选项。然后输入用户名和密码。
4. plsql连接数据库怎么配tns,注意看问题补充
telnet IP 端口,测试是否通
如果不通
1、数据库是否允许远程连接
2、检查安全设置,防火墙之类
5. Oracle 11g 安装后plsqltns途径指向一个不存在的路径 添加监听和在路径下建立监听都试了还是不好使
你这台服务器肯定是即安装了oracle又安装了oracle client,服务器上既然安装了数据库,就没必要再去安装oracle客户端了,会导致环境变量更改从而出现你这种情况,建议你从环境变量入手去排查
6. instantclient和plsql应该怎么样配置
使用Oracle Instant Client时的PLSQL Developer配置
1,先到Oracle网站下载Instant Client :
根据你的操作系统选择不同的Instant Client版本
下载回是一个压缩文件,解压之后的文件夹叫:D:/instantclient_11_2.放在你喜欢的目录即可.例如:D:/instantclient_11_2
2.在D:/instantclient_11_2目录下新建目录network,在network目录下再新建admin目录,在admin目录下新建文件tnsnames.ora,使用文本编辑器打开写入如下内容:
MWDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MWDB )
)
)
第一个黄色字块:表示定义远程服务器的在本地主机名
第二个黄色字块:远程数据库实例名
3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径。比如我的本机为:D:/instantclient_11_2/network/admin
4、设置ORACLE的语言,添加环境变量NLS_LANG ,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
如果不清楚远程数据库的ORACLE 语言,可以ssh或者telnet到远程机器,在命令界面输入,用命令行连接到数据库。
select * from nls_instance_parameters;
查看NLS_LANGUAGE 的值
NLS_LANGUAGE
NLS_TERRITORY
5、下载并安装PL.SQL.Developer配置应用
配置tools->preferences->connection
Oracle Home
D:/instantclient_11_2
OCI library
D:/instantclient_11_2/oci.dll
中文的PL/SQL Developer就是
工具-->首选项-->连接
Oracle主目录
D:/instantclient_11_2
OCI库
D:/instantclient_11_2/oci.dll
6、关闭PL/SQL Developer,重起Developer.
主机名就会出现在PL/SQL Developer的列表里,输入用户名密码,就可以登录远程oracle 11g数据库了。
补充Instant Client 说明
Oracle Instant client 是oracle提供的简便客户端, 支持多种平台. 可从oracle网站下载, 下载地址为
包括如下内容:
Instant client Package - Basic 运行OCI, OCCI, 和JDBC-OCI应用程序需要的所有文件.
Instant client Package - Basic Lite: 只包含英语错误信息, 只支持unicode, ascii, 西欧字符集.
Instant client Package - JDBC Supplement 为jdbc增加了xa, 国际化和RowSet操作.
Instant Client Package - SQL *Plus 包含sqlplus和需要的库文件
Instant client Package - SDK 使用Instant Client开发Oracle 应用程序需要的头文件及示例makefile
Instant client package - ODBC 使用odbc时需要的库, 不是所有平台都有. linux平台包含.
Basic 和Basic Lite两个中必须选一个, 其他包都是可选的. 我下载了 Basic, JDBC supplement, SQL *Plus, SDK, ODBC. 解压后放在一个文件夹下, 在这个文件夹下建立文件 tnsnames.ora, 设置环境变量LD_LIBRARY_PATH和TNS_ADMIN指向解压后的目录, 就可以使用sqlplus了.
我下载的instant client版本为10.2.0.2.0, 测试了联接到oracle 9.2.0.4和oracle 10.2.0.1.
Instant Client中不包含tnsping, exp/imp, rman, netca等工具. 如果需要这些工具则需要安装oracle client
7. plsql 连接oracle tns配置的问题
这个你需要首先知道一个基本的东西,程序启动时会去读取windows的系统环境变量
你安装oracle及客户端后,需要修改path变量,你看看oracle服务器端的目录和客户端的目录哪个在前面,程序就用哪个的,如果你用客户端的,就将他的目录放到服务器端目录的前面,以后,就用客户端的tns了,服务器的不起作用。
8. 为什么打开PLSQL Developer时会报TNS无法监听程序
1、检查listener.log日志
发现下面错误:
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Proction on 20-9月 -2008 10:25:26
Copyright (c) 1991, 2005, Oracle. All rights reserved.
系统参数文件为D:/oracle/proct/10.2.0/db_1/network/admin/listener.ora
写入D:/oracle/proct/10.2.0/db_1/network/log/listener.log的日志信息
写入D:/oracle/proct/10.2.0/db_1/network/trace/listener.trc的跟踪信息
跟踪级别当前为0
以 pid=1704 开始
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))
TNS-12545: 因目标主机或对象不存在, 连接失败
TNS-12560: TNS: 协议适配器错误
TNS-00515: 因目标主机或对象不存在, 连接失败
32-bit Windows Error: 49: Unknown error
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))
2、查看Oracle的listener是否启动
C:/Documents and Settings/mengzhaoliang>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Proction on 20-9月 -2008 10:5
0:44
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 2: No such file or directory
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))
TNS-12535: TNS: 操作超时
TNS-12560: TNS: 协议适配器错误
TNS-00505: 操作超时
32-bit Windows Error: 60: Unknown error
原来没有启动listener,用“lsnrctl start”命令也不能启动。
C:/Documents and Settings/mengzhaoliang>lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Proction on 20-9月 -2008 10:5
2:16
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Proction
系统参数文件为D:/oracle/proct/10.2.0/db_1/network/admin/listener.ora
写入D:/oracle/proct/10.2.0/db_1/network/log/listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521))
)
TNS-12545: 因目标主机或对象不存在, 连接失败
TNS-12560: TNS: 协议适配器错误
TNS-00515: 因目标主机或对象不存在, 连接失败
32-bit Windows Error: 49: Unknown error
监听程序未能启动。请参阅上面的错误消息...
3、查看listener.ora的内容:
# listener.ora Network Configuration File: D:/oracle/proct/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:/oracle/proct/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.5.0.5)(PORT = 1521))
)
)
原来本机的ip发生改变后,就出现了上述问题,改变数据库的监听ip地址:
把(ADDRESS = (PROTOCOL = TCP)(HOST = 0.5.0.5)(PORT = 1521))
改成
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
127.0.0.1:也就是目前数据库正在用的ip地址。
4、再次启动oracle的listener
C:/Documents and Settings/mengzhaoliang>lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Proction on 20-9月 -2008 10:5
4:40
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Proction
系统参数文件为D:/oracle/proct/10.2.0/db_1/network/admin/listener.ora
写入D:/oracle/proct/10.2.0/db_1/network/log/listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Pro
ction
启动日期 20-9月 -2008 10:54:41
正常运行时间 0 天 0 小时 0 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:/oracle/proct/10.2.0/db_1/network/admin/listener.o
ra
监听程序日志文件 D:/oracle/proct/10.2.0/db_1/network/log/listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
启动已经成功,
5.再tnsnames.ora上添加上
ORCL_127.0.0.1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
6、再次用PL/SQL Developer再次连接数据库
出现下面错误:
TNS-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
再次检查listener.log日志
20-9月 -2008 11:01:54 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)(CID=
(PROGRAM=D:/plsql/plsqldev.exe)(HOST=RUIFEI-EF0ADC98)(USER=mengzhaoliang))) * (ADDRESS=
(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1267)) * establish * orcl * 12514
TNS-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
查看listener:
C:/Documents and Settings/mengzhaoliang>lsnrctl services
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Proction on 20-9月 -2008 11:1
1:09
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已被拒绝:0
LOCAL SERVER
命令执行成功
7、用sqlplus也出现同样错误:
C:/Documents and Settings/mengzhaoliang>sqlplusscott/mzl@ORCL_127.0.0.1
SQL*Plus: Release 10.2.0.1.0 - Proction on 星期六 9月 20 11:15:09 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
8、查看listenser状态:
C:/Documents and Settings/mengzhaoliang>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Proction on 20-9月 -2008 11:2
6:42
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Pro
ction
启动日期 20-9月 -2008 11:24:33
正常运行时间 0 天 0 小时 2 分 8 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:/oracle/proct/10.2.0/db_1/network/admin/listener.o
ra
监听程序日志文件 D:/oracle/proct/10.2.0/db_1/network/log/listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
C:/Documents and Settings/mengzhaoliang>tnsping orcl
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Proction on 20-9月 -
2008 11:27:43
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的参数文件:
D:/oracle/proct/10.2.0/db_1/network/admin/sqlnet.ora
TNS-03505: 无法解析名称
9、查看sqlnet.ora内容:
# sqlnet.ora Network Configuration File: D:/oracle/proct/10.2.0/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
10.把listener.ora的内容:
# listener.ora Network Configuration File: D:/oracle/proct/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:/oracle/proct/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
改成下面的内容:
# listener.ora Network Configuration File: D:/oracle/proct/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:/oracle/proct/10.2.0/db_1)
# (PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = orcl))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
11、然后关闭、再启动listener
在cmd中执行“lsnrctl stop” 和“lsnrctl stop”命令,再次登陆正常!
C:/Documents and Settings/mengzhaoliang>sqlplus scott/mzl@orcl
SQL*Plus: Release 10.2.0.1.0 - Proction on 星期六 9月 20 11:55:47 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Proction
With the Partitioning, OLAP and Data Mining options
SQL>
再次用PL/SQL Peveloper登陆就没有问题了。
完毕!
通过以上步骤我的问题还没解决,然后重启了一下OracleOraDb10g_home1TNSListener服务就行了
9. 多个oracle安装后plsql 如何寻找tns文件
tns文件就在oracle的安装目录下。
以oracle10g为例,路径为:~oracleproct10.2.0db_1 etworkADMIN
配置方法如下:
1、找到oracle的安装目录。如:C:oracleproct10.2.0db_1 etworkADMIN