PLSQL配置监听
这个错误主要是pl/sql客户端的tnsnames.ora配置错误,或者是输入 database选项错误。
配置pl/sql的Database的两种方式:
登录时直接在Database选项输入数据库信息
如上图,直接在登录时输入数据库信息 ip:端口/数据库名 。(若不为默认端口1521,一定要输入端口,不然会报错误“无监听程序”)。
修改tnsnames.ora
如下图,找到pl/sql客户端的安装目录,再找到network/admin目录下的tnsmames.ora
编辑tnsnames.ora,在末尾添加需要的数据库信息:
如图:
这里我配置的数据库名为scm,数据库服务器的IP地址(HOST),端口为1521,注意别名scm前不要带空格。
scm =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SCM)
)
)
再打开pl/sql客户端,Database选项选择刚才配置的scm,输入用户名和密码即可。如图:
当发现使用IP可以登录正常,但是别名无法登录时,继续向下看
其中一个问题是环境变量缺失TNS_ADMIN
在win10上安装了一个11g的客户端,发现连接不上公司的数据库,解决的办法参考下面的方法。
解决了 Initialization error Could not load 的问题,在登陆界面填写完信息进行登录时,又出现了另一个
问题 ORA-12154: TNS:could not resolve the connect identifier specified ,即无法解析指定的连接
标识符。这说明缺少了一个环境变量,TNS_ADMIN 。
解决方法:
windows:
右击 我的电脑 -> 属性 -> 高级 -> 环境变量 -> Administrator 的用户变量 -> 新建 ,
变量名为:TNS_ADMIN
变量值为:%ORACLE_HOME%/NETWORK/ADMIN/
其中 %ORACLE_HOME% 即 Orcale 的安装路径,
其实,设置的该环境变量的值为 tnsnames.ora文件所在路径,特别是重装后或其它操作,忘了设置
TNS_ADMIN 变量,PL/SQL 登陆就会报“无法解析指定的连接标识符”的错误 ,而设置TNS_ADMIN变
量是为了能够找到 tnsnames.ora。如果本机上安装了ORACLE,并且设置了 ORACLE_HOME 环境变
量,那么会自动在 %ORACLE_HOME%/NETWORK/ADMIN/位置查找 tnsnames.ora 文件。
这里是Linux的配置
vim ~/ .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=yidongapptestdb; export ORACLE_HOSTNAME ORACLE_UNQNAME=MIBD11G; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME ORACLE_SID=MIBD11G; export ORACLE_SID PATH=/usr/bin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH export TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
参照博客:ORA-12154: TNS:could not resolve the connect identifier specified
https://blog.csdn.net/u012852374/article/details/54346203