pl/sql远程连接orcle服务器问题
我已经装上了Oracle-OraClient10g_home1,用NetConfigurationAssistant建立一个‘本地Net服务名配置’,并且测试连接成功,可...
我已经装上了 Oracle - OraClient10g_home1,用Net Configuration Assistant建立一个‘本地Net服务名配置’ ,并且 测试 连接成功, 可是pl/sql developer 却连接不上远程数据库,这是为什么? 小菜鸟紧急求助!
展开
3个回答
展开全部
可能的问题:
1、windows的防火墙所致
2、环境变量PATH里没有加上%ORACLE_HOME%\bin导致
引用一个别人的东西吧。我也不太清楚:
ORACLE 连接设置方法很多,这里写四种,但主要是远程连接方法。
第一种情况:
若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了。不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置。
第二种情况:
本机未安装oracle服务器,也未安装oracle客户端。但是安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以pl sql development远程连接ORACLE服务端数据库为例:
1、在安装oracle服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll(其中10代表oracle版本,若是其他版本,则需要修改之,例如改成ocijdbc9.dll或者ocijdbc11.dll)
ociw32.dll
orannzsbb10.dll(其中10代表oracle服务器版本,若是其他版本,则需要修改之,例如改成orannzsbb9.dll或者orannzsbb11.dll)
oraocci10.dll(其中10代表oracle服务器版本,若是其他版本,则需要修改之,例如改成oraocci9.dll或者oraocci11.dll)
oraociei10.dll(可能服务器没有,如果没有,就不用找了)
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
把这些找到的文件复制放到一个文件夹,如 oraclient,将此文件夹复制到客户端机器上。如放置路径为 D:\oraclient
2、配置tnsnames.ora,修改其中的数据库连接串。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)
其中,oracledata是要连接的服务名;HOST = 192.168.0.58,是服务器IP地址;PORT = 1521是端口号。
3、添加第一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。这步是最重要的。
添加第二个环境变量(可有可无):
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)(本步骤暂时要做对,如果编码不对,会产生乱码)
4、下载并安装PL SQL Developer配置应用:
打开PL SQL Developer,登入界面点取消,进入后选择菜单栏 tools->preferences->connection
设置:
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll
5、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
第三种情况:
本机未安装ORACLE服务器,但是安装了oracle客户端,也安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以pl sql development远程连接oracle服务端数据库为例:
1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
2、其他步骤与第二种情况中的2---5相同。
第四种情况:
本机未安装oracle服务器,也未安装pl sql development、toad sql development、sql navigator等管理数据库的工具,但是安装了oracle客户端。在虚拟机或者另一台电脑上安装了ORACLE服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以oracle客户端中的sqlplus远程连接oracle服务端数据库为例:
1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
2、同第二种情况中的步骤二
3、同第二种情况中的步骤三
4、打开sqlplus:
(1)如果用sys用户登入,则用户名:sys 密码:xxxxxx 主机字符串:要连接的数据库名 as sysdba,登入即可。
(2)如果用其他用户登入,则用户名:xxx 密码:xxxxxx 主机字符串:要连接的数据库名,登入即可。
下面是注意事项:
1、服务器端和客户端防火墙需要关闭;
2、我们经常会遇到监听器服务无法启动,那么需要打开Net Configuration Assistant修复,或者新建监听器服务。
3、数据库密码如果忘了怎么办?按照以下方法修改密码即可:
开始-->运行-->cmd
输入 : sqlplus /nolog 回车
输入 : connect / as sysdba 回车
用户解锁 : alter user system account unlock 回车
修改密码:
alter user system identified by manager
4、怎样判断数据库是运行在归档模式下还是运行在非归档模式下?
进入dbastudio,历程--〉数据库---〉归档查看。
5、另外,如果本机和别的机子均安装了oracle服务器端,那么本机如果要连接别的机子,就必须修改环境变量。
下面是Oracle数据库常见问题诊断:
1 、TNS-12154 Error 或ORA-12154
特征:没有找到连接串或别名
原因1:(1)没有找到TNSNAMES.ORA文件
措施:需要在客户端设置TNS_ADMIN环境变量,变量值为TNSNAMES.ORA文件所在文件夹路径。或者在注册表 HKEY_LOCAL_MACHINESoftwareOracle 设置TNS_ADMIN 指向TNSNAMES.ORA文件的位置
原因2:(2)TNSNAMES.ORA文件中内容格式不对
措施:检查文件格式,标准格式如下:
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (Host = 192.168.0.4) (Port = 1521) ) )
(CONNECT_DATA =
(SID = oracledata) ) )
2、NL-00462 Error 或ORA-00462
特征:监听器无法启动
原因:listener.ora文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:重新编辑文件或者启动Net Configuration Assistant修复
3、NL-00405 Error 或ORA-00405
特征:listener.ora文件不可读或找不到
原因:listener.ora文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:确保文件位置在缺省目录下$ORACLE_HOME/network/admin,或设置环境变量TNS_ADMIN指向这个文件所在位置。
4、TNS-01155 Error 或ORA-01155
特征:listener.ora文件中SID_LIST_LISTENER变量赋值不对
原因:listener.ora文件内容错误,SID_LIST_LISTENER变量赋值不对。
措施:确保文件中赋值正确,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。
5、TNS-12537 、TNS-12560、TNS-00507 Error
特征:listener.ora文件中引用了一个无效的协议适配程序
原因:listener.ora文件中procotol变量赋值不对。
措施:确保文件中赋值正确,一般用TCP协议,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。用adapters tnslsnr检查协议程序
6、TNS-12203 Error
特征:不能与目标连接
原因:监听器是否启动;别名是否配置
措施:检查监听器是否启动,例如lsnrctl status;检查tnsnames.ora的别名配置
7、TNS-12533 Error
特征:不能与目标连接
原因:非法的address参数
措施:检查tnsnames.ora的address参数
1、windows的防火墙所致
2、环境变量PATH里没有加上%ORACLE_HOME%\bin导致
引用一个别人的东西吧。我也不太清楚:
ORACLE 连接设置方法很多,这里写四种,但主要是远程连接方法。
第一种情况:
若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了。不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置。
第二种情况:
本机未安装oracle服务器,也未安装oracle客户端。但是安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以pl sql development远程连接ORACLE服务端数据库为例:
1、在安装oracle服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll(其中10代表oracle版本,若是其他版本,则需要修改之,例如改成ocijdbc9.dll或者ocijdbc11.dll)
ociw32.dll
orannzsbb10.dll(其中10代表oracle服务器版本,若是其他版本,则需要修改之,例如改成orannzsbb9.dll或者orannzsbb11.dll)
oraocci10.dll(其中10代表oracle服务器版本,若是其他版本,则需要修改之,例如改成oraocci9.dll或者oraocci11.dll)
oraociei10.dll(可能服务器没有,如果没有,就不用找了)
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
把这些找到的文件复制放到一个文件夹,如 oraclient,将此文件夹复制到客户端机器上。如放置路径为 D:\oraclient
2、配置tnsnames.ora,修改其中的数据库连接串。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)
其中,oracledata是要连接的服务名;HOST = 192.168.0.58,是服务器IP地址;PORT = 1521是端口号。
3、添加第一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。这步是最重要的。
添加第二个环境变量(可有可无):
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)(本步骤暂时要做对,如果编码不对,会产生乱码)
4、下载并安装PL SQL Developer配置应用:
打开PL SQL Developer,登入界面点取消,进入后选择菜单栏 tools->preferences->connection
设置:
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll
5、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
第三种情况:
本机未安装ORACLE服务器,但是安装了oracle客户端,也安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以pl sql development远程连接oracle服务端数据库为例:
1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
2、其他步骤与第二种情况中的2---5相同。
第四种情况:
本机未安装oracle服务器,也未安装pl sql development、toad sql development、sql navigator等管理数据库的工具,但是安装了oracle客户端。在虚拟机或者另一台电脑上安装了ORACLE服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以oracle客户端中的sqlplus远程连接oracle服务端数据库为例:
1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
2、同第二种情况中的步骤二
3、同第二种情况中的步骤三
4、打开sqlplus:
(1)如果用sys用户登入,则用户名:sys 密码:xxxxxx 主机字符串:要连接的数据库名 as sysdba,登入即可。
(2)如果用其他用户登入,则用户名:xxx 密码:xxxxxx 主机字符串:要连接的数据库名,登入即可。
下面是注意事项:
1、服务器端和客户端防火墙需要关闭;
2、我们经常会遇到监听器服务无法启动,那么需要打开Net Configuration Assistant修复,或者新建监听器服务。
3、数据库密码如果忘了怎么办?按照以下方法修改密码即可:
开始-->运行-->cmd
输入 : sqlplus /nolog 回车
输入 : connect / as sysdba 回车
用户解锁 : alter user system account unlock 回车
修改密码:
alter user system identified by manager
4、怎样判断数据库是运行在归档模式下还是运行在非归档模式下?
进入dbastudio,历程--〉数据库---〉归档查看。
5、另外,如果本机和别的机子均安装了oracle服务器端,那么本机如果要连接别的机子,就必须修改环境变量。
下面是Oracle数据库常见问题诊断:
1 、TNS-12154 Error 或ORA-12154
特征:没有找到连接串或别名
原因1:(1)没有找到TNSNAMES.ORA文件
措施:需要在客户端设置TNS_ADMIN环境变量,变量值为TNSNAMES.ORA文件所在文件夹路径。或者在注册表 HKEY_LOCAL_MACHINESoftwareOracle 设置TNS_ADMIN 指向TNSNAMES.ORA文件的位置
原因2:(2)TNSNAMES.ORA文件中内容格式不对
措施:检查文件格式,标准格式如下:
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (Host = 192.168.0.4) (Port = 1521) ) )
(CONNECT_DATA =
(SID = oracledata) ) )
2、NL-00462 Error 或ORA-00462
特征:监听器无法启动
原因:listener.ora文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:重新编辑文件或者启动Net Configuration Assistant修复
3、NL-00405 Error 或ORA-00405
特征:listener.ora文件不可读或找不到
原因:listener.ora文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
措施:确保文件位置在缺省目录下$ORACLE_HOME/network/admin,或设置环境变量TNS_ADMIN指向这个文件所在位置。
4、TNS-01155 Error 或ORA-01155
特征:listener.ora文件中SID_LIST_LISTENER变量赋值不对
原因:listener.ora文件内容错误,SID_LIST_LISTENER变量赋值不对。
措施:确保文件中赋值正确,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。
5、TNS-12537 、TNS-12560、TNS-00507 Error
特征:listener.ora文件中引用了一个无效的协议适配程序
原因:listener.ora文件中procotol变量赋值不对。
措施:确保文件中赋值正确,一般用TCP协议,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。用adapters tnslsnr检查协议程序
6、TNS-12203 Error
特征:不能与目标连接
原因:监听器是否启动;别名是否配置
措施:检查监听器是否启动,例如lsnrctl status;检查tnsnames.ora的别名配置
7、TNS-12533 Error
特征:不能与目标连接
原因:非法的address参数
措施:检查tnsnames.ora的address参数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询