plsql远程连接oracle服务器问题(各种情况).docx
PLSQL远程连接oracle服务器问题(各种情况)1.病毒软件的防火墙可以关闭试试在连接。2.环境变量path里面没有加上%ORACLE_HOME%\bin导致可以引用一个别人的东西试试下面是ORACLE的四种连接方法,主要是远程连接方法:一、如果oracle服务器在主机上面,可以直接通过用户名和密码连接上(环境变量%RACLE_HOME%/network/admin)二、主机上面没有安装oracle服务器和客户端,只安装了PL/SQL等管理数据库的工具。在虚拟机或者其他服务器上面安装有oracle服务器。用PL/SQLdev远程连接RACLE服务端数据库为例子:1.在安装了oracle服务器的电脑上面查找以下文件(可以用windows的搜索,大楷3秒钟找到一个,很快的):(原创中还有点没说清楚,就是在搜索出多个的时候,就选择bin目录下面的,tnsnames.ora这个选择admin目录下的)oci.dllocijdbc10.dllociw32.dllorannzsbb10.dlloraocci10.dlloraociei10.dll(oraociei10.dll可能服务器没有,如果没有则plsql随便用户名密码可以登陆)sqlnet.oratnsnames.oraclasses12.jarojdbc14.jar放到一个文件夹下面,如oraclient2、配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%ORACLE_HOME%\network\admin下)放在上面的目录D:\oraclient下。(使用记事本打开)oracledata=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.58)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oracledata)))其中的host=ip这个ip是要连接的oracle服务器端的ip,post=1521端口号一般不用修改3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。4、设置ORACLE的语言,添加环境变量:变量名:NLS_LANG,变量值:SIMPLIFIEDCHINESE_CHINA.ZHS16GBK,(AMERICAN_AMERICA.US7ASCII是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)(本步骤暂时要做对,如果编码不对,会产生乱码)5、打开装置了的PL/SQLDevtools->preferences->connectionOraclehome=D:\oracleclientOCIlibrary=D:\oracleclient\oci.dll6、再次打开plsql则会在database中有oracledata选项输入用户名密码就可以登陆。第三种情况:本机未安装ORACLE服务器,但是安装了oracle客户端,也安装了plsqldevelopment、toadsqldevelopment、sqlnavigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。这种情况下,本人以plsqldevelopment远程连接oracle服务端数据库为例:1、打开oracle客户端中的netmanager,配置要远程连接的数据库名、IP地址等,如果netmanager中没有要远程连接的数据库名,则新建即可。2、其他步骤与第二种情况中的2---5相同。第四种情况:本机未安装oracle服务器,也未安装plsqldevelopment、toadsqldevelopment、sqlnavigator等管理数据库的工具,但是安装了oracle客户端。在虚拟机或者另一台电脑上安装了ORACLE服务器,也就是虚拟机或者另一台电脑此时作为服务器。这种情况下,本人以oracle客户端中的sqlplus远程连接oracle服务端数据库为例:1、打开oracle客户端中的netmanager,配置要远程连接的数据库名、IP地址等,如果netmanager中没有要远程连接的数据库名,则新建即可。2、同第二种情况中的步骤二3、同第二种情况中的步骤三4、打开sqlplus:(1)如果用sys用户登入,则用户名:sys密码:xxxxxx主机字符串:要连接的数据库名assysdba,登入即可。(2)如果用其他用户登入,则用户名:xxx密码:xxxxxx主机字符串:要连接的数据库名,登入即可。下面是注意事项:1、服务器端和客户端防火墙需要关闭;2、我们经常会遇到监听器服务无法启动,那么需要打开NetConfigurationAssistant修复,或者新建监听器服务。3、数据库密码如果忘了怎么办?按照以下方法修改密码即可:开始运行输入:sqlplus/nolog回车输入:connect/assysdba回车用户解锁:alterusersystemaccountunlock回车修改密码:alterusersystemidentifiedbymanager4、怎样判断数据库是运行在归档模式下还是运行在非归档模式下?进入dbastudio,历程--〉数据库---〉归档查看。5、另外,如果本机和别的机子均安装了oracle服务器端,那么本机如果要连接别的机子,就必须修改环境变量。下面是Oracle数据库常见问题诊断:1、TNS-12154Error或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-00462Error或ORA-00462特征:监听器无法启动原因:listener.ora文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。措施:重新编辑文件或者启动NetConfigurationAssistant修复3、NL-00405Err