【转-整理】win764bit plsql 登录oracle11g ora-12154 问题汇总
2016-07-18 11:30
861 查看
1.安装好oracle10客户端,配置好网络服务名称,用enterprsie manager console 连接服务器,一切正常,连接成功
接着安装plsql developer,安装完成后,运行plsql, 输入用户名和密码,数据库名称输入刚才配置的服务名称,点击登录,出现ora-12154错误。 随即上网搜索,查找资料。按照网上说的试了试,虽然没成功,大概知道了问题出在哪。
因为用manager console 能登录,plsql不能登录,说明网络服务名配置的没有问题,问题可能出在plsql不能找到网络服务名的配置文件,即找不到C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora。看了看系统环境变量,发现ORACLE_HOME的值为空,试着设置为ORACLE_HOME=c:\oracle\product\10.2.0\client_1。重新登录plsql,登录上去了。
没想到是ORACLE_HOME惹得祸!
总结:
碰到ora-12154错误,首先确认自己输入的服务名是不是正确,服务名不区分大小写。 然后,看看系统的环境变量中
ORACLE_HOME的值是不是正确,ORACLE_HOME的值要设置到client目录。
2.Oracle 10g ORA-12154: TNS: could not resolve the connect identifier
specified
打开后我发现我当前的环境变量这样设置的:
path ==
E:\oraclient_2;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program
Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
问题出现了.随后我该成如下:
path ==
E:\oracle;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program
Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
TNS 无监听程序
查看app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
summerg)(PORT = 1522))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME
= orcl)
)
)
oracle11g 用exp命令不能导出空表
11G中有个新特性,当表无数据时,不分配segment,以节省空间
解决方法:
1、插入一条数据,提交,然后删除再次提交 (可以在plsql中,edit data ,插入一条数据,然后删除 delete from cms_user,最后plsql实现提交)。插入数据,再删除,则产生segment。导出时则可导出空表。
北化工项目实施过程中就出现这问题,用方法一解决了。
2、设置deferred_segment_creation 参数
该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
在PLSQL中执行命令就下面第一句查看deferred_segment_creation属性是否为true,如果为true则继续执行后面一句,即可。
show parameter deferred_segment_creation;
alter system set deferred_segment_creation =
false;
3.ora-12154,链接没有设置好,在【开始 所有程序 Oracle - OraClient10g 配置和移植工具】里边,选Net Configuration Assistant,重新设置连接。
4.在win7 64-bit下安装oracle11g在解决
Initialhation orrlr SQK*NET properly installed
Oracle Homekey:
Oracle HomeDir:
问题后,随后又出现了问题:
ORA-12154: TNS:could not resolve the connect identifier specified
解决:添加环境变量解决:TNS_ADMIN ->>
D:\app\YangJin\product\11.2.0\dbhome_1\NETWORK\ADMIN
5.当启动PL/SQL连接数据库时,会提示如下错误:
[Window Title]
(Not logged on)
[Content]
Initialization error
Could not initialize
"C:\oracle\product\10.2.0\client_1\bin\oci.dll"
Make sure you have the 32 bits Oracle
Client installed.
OracleHomeKey:
OracleHomeDir:
C:\oracle\product\10.2.0\client_1
Found: oci.dll
Using:
C:\oracle\product\10.2.0\client_1\bin\oci.dll
LoadLibrary(C:\oracle\product\10.2.0\client_1\bin\oci.dll)
returned 0
错误产生的原因是PL/SQL可能不支持64位的oci.dll文件,因为安装的oracle客户端软件也是64位的。
解决方法:下载oracle提供的instant client,下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssSourceSiteId=ocomen
虽然是64位操作系统,但是可以下载32为即时客户端,下载完成后解压即可。
例如文件解压到D:\Oracle\instantclient_11_2
则启动PL/SQL→Tools→Preferences→Oracle→Connection,设置Oracle Home和OCI Library
之后保存,重新启动PL/SQL,连接数据库,问题解决!
登录报错:
不能登录为 uop_crm2
ORA-12154: TNS:could not resolve the connect identifier specified
变量名:TNS_ADMIN
变量值:Oracle安装目录中的
....../product/11.2.0/dbhome_1/NETWORK/ADMIN
TNS_ADMIN=c:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
NLS_LANG 在客户端不能被确定字符集转变将造成不可预期的后果
变量名:NLS_LANG
变量值:AMERICAN_AMERICA.ZHS16GBK
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK (注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整,如果数据库采用AL32UTF8,则可以设置AL32UTF8)
重新登录,OK!
接着安装plsql developer,安装完成后,运行plsql, 输入用户名和密码,数据库名称输入刚才配置的服务名称,点击登录,出现ora-12154错误。 随即上网搜索,查找资料。按照网上说的试了试,虽然没成功,大概知道了问题出在哪。
因为用manager console 能登录,plsql不能登录,说明网络服务名配置的没有问题,问题可能出在plsql不能找到网络服务名的配置文件,即找不到C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora。看了看系统环境变量,发现ORACLE_HOME的值为空,试着设置为ORACLE_HOME=c:\oracle\product\10.2.0\client_1。重新登录plsql,登录上去了。
没想到是ORACLE_HOME惹得祸!
总结:
碰到ora-12154错误,首先确认自己输入的服务名是不是正确,服务名不区分大小写。 然后,看看系统的环境变量中
ORACLE_HOME的值是不是正确,ORACLE_HOME的值要设置到client目录。
2.Oracle 10g ORA-12154: TNS: could not resolve the connect identifier
specified
打开后我发现我当前的环境变量这样设置的:
path ==
E:\oraclient_2;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program
Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
问题出现了.随后我该成如下:
path ==
E:\oracle;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program
Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
TNS 无监听程序
查看app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
summerg)(PORT = 1522))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME
= orcl)
)
)
oracle11g 用exp命令不能导出空表
11G中有个新特性,当表无数据时,不分配segment,以节省空间
解决方法:
1、插入一条数据,提交,然后删除再次提交 (可以在plsql中,edit data ,插入一条数据,然后删除 delete from cms_user,最后plsql实现提交)。插入数据,再删除,则产生segment。导出时则可导出空表。
北化工项目实施过程中就出现这问题,用方法一解决了。
2、设置deferred_segment_creation 参数
该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
在PLSQL中执行命令就下面第一句查看deferred_segment_creation属性是否为true,如果为true则继续执行后面一句,即可。
show parameter deferred_segment_creation;
alter system set deferred_segment_creation =
false;
3.ora-12154,链接没有设置好,在【开始 所有程序 Oracle - OraClient10g 配置和移植工具】里边,选Net Configuration Assistant,重新设置连接。
4.在win7 64-bit下安装oracle11g在解决
Initialhation orrlr SQK*NET properly installed
Oracle Homekey:
Oracle HomeDir:
问题后,随后又出现了问题:
ORA-12154: TNS:could not resolve the connect identifier specified
解决:添加环境变量解决:TNS_ADMIN ->>
D:\app\YangJin\product\11.2.0\dbhome_1\NETWORK\ADMIN
5.当启动PL/SQL连接数据库时,会提示如下错误:
[Window Title]
(Not logged on)
[Content]
Initialization error
Could not initialize
"C:\oracle\product\10.2.0\client_1\bin\oci.dll"
Make sure you have the 32 bits Oracle
Client installed.
OracleHomeKey:
OracleHomeDir:
C:\oracle\product\10.2.0\client_1
Found: oci.dll
Using:
C:\oracle\product\10.2.0\client_1\bin\oci.dll
LoadLibrary(C:\oracle\product\10.2.0\client_1\bin\oci.dll)
returned 0
错误产生的原因是PL/SQL可能不支持64位的oci.dll文件,因为安装的oracle客户端软件也是64位的。
解决方法:下载oracle提供的instant client,下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssSourceSiteId=ocomen
虽然是64位操作系统,但是可以下载32为即时客户端,下载完成后解压即可。
例如文件解压到D:\Oracle\instantclient_11_2
则启动PL/SQL→Tools→Preferences→Oracle→Connection,设置Oracle Home和OCI Library
之后保存,重新启动PL/SQL,连接数据库,问题解决!
登录报错:
不能登录为 uop_crm2
ORA-12154: TNS:could not resolve the connect identifier specified
变量名:TNS_ADMIN
变量值:Oracle安装目录中的
....../product/11.2.0/dbhome_1/NETWORK/ADMIN
TNS_ADMIN=c:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
NLS_LANG 在客户端不能被确定字符集转变将造成不可预期的后果
变量名:NLS_LANG
变量值:AMERICAN_AMERICA.ZHS16GBK
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK (注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整,如果数据库采用AL32UTF8,则可以设置AL32UTF8)
重新登录,OK!
相关文章推荐
- MyBatis小demo
- BestCoder 2nd Anniversary--1001Oracle
- rhel6.* 上安装oracle 11.2.0.1
- Oracle 外连接
- mybatis执行批量更新batch update 的方法(oracle,mysql)
- Oracle 违反协议 OALL8 处于不一致状态
- 11gr2 grid安装的时候,ASM磁盘status为Member
- oracle instr() 和substr()函数
- oracle 小问题之监听
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
- 利用trunc函数定时刷新物化视图
- hdu-5718 Oracle(水题)
- 7-16 Bestcoder a Oracle
- 利用函数返回oracle对象表的三种方法
- oracle之order by
- python读取oracle函数返回值
- FIREDAC驱动ORACLE的配置
- oracle基础复习-2016.7.18
- python读取oracle函数返回值
- 利用函数返回oracle对象表的三种方法