Oracle 11g升级后遇到问题及解决


实验环境,Oracle 11gR2单机测试数据软件及库升级,操作系统Linux6.3
oracle版本 11.2.0.1  升级包11.2.0.3
数据库软件及库升级成功后,测试expdp导出全库实验,总是提示如下错误:

[oracle@linuxtest ~]$ expdp oracle/oracle@orcl directory=DATA_PUMP_DIR dumpfile=daochu.dmp logfile=daochu.log full=yes

Export: Release 11.2.0.3.0 - Production on Mon Oct 28 09:47:18 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

UDE-12154: operation generated ORACLE error 12154
ORA-12154: TNS:could not resolve the connect identifier specified

1.根据提示尝试的解决办法:
  sqlplus / as sysdba 连接数据库,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION  TO  oracle(用户名字) 这里我选择了新建的oracle用户。
然后检查lisenter.ora及tnsnames.ora文件,发现都正常,但我还是用netca命令重建了监听,再测试expdp发现还是一样的问题。


2.最终解决办法:
su - oracle 用户下查看监听文件发现如下问题:
[oracle@linuxtest admin]$ cat tnsnames.ora
cat: tnsnames.ora: Permission denied

提示权限不够,之前是在root用户下查看的,所以没留意到这个问题。所以猜测问题出在oracle home目录的权限问题。

实验开始的时候我在升级数据库软件时oracle提示oracle_home目录不能与之前的重复即必须新建目录,后来我选择了在原oracle_home目录下创建11.2.3的子目录,同时11.2.0的子目录依然存在,依照提示chown -R oracle:oinstall /oracle/*给oracle_home目录重新赋予权限,再次到oracle用户下查看监听文件,发现可以读取。

尝试expdp 导出全库,发现导出可以正常运行了。

推荐阅读

Linux上Oracle 11g安装步骤图文详解

Linux操作系统中Oracle 11g数据库安装过程图文详解

CentOS 5.6 上安装 Oracle 11g R2 单实例数据库详解

Oracle VM虚拟机中安装Oracle Clusterware 11g步骤

VM虚拟机下在Linux上安装Oracle 11G单实例数据库

相关内容