Home  >  Article  >  Database  >  Oracle 11g升级后遇到问题及解决

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

WBOY
WBOYOriginal
2016-06-07 17:32:551222browse

Oracle 11g升级后遇到问题及解决,Oracle 11gR2单机测试数据软件及库升级,操作系统Linux6.3

实验环境,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单实例数据库

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn