我正在尝试使用imp
命令导入oracle,命令输出如下所示。
invincible:/home/invincible# imp
Import: Release 10.2.0.1.0 - Production on Thu Aug 12 22:19:00 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: n_data
Password:
IMP-00058: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 13: Permission denied
IMP-00005: all allowable logon attempts failed
IMP-00000: Import terminated unsuccessfully
invincible:/home/invincible#
用户名和密码正确(我可以使用sqldeveloper连接)。我已授予dba
n_data
次访问权限。设置了所有环境变量(我在运行oracle_env.sh
之前运行env
)。那可能是什么问题呢?我在debian上运行oracle。
答案 0 :(得分:3)
查看此博文:ORA-27123: unable to attach to shared memory segment。
它描述了与您相同的错误,并且在oracle可执行文件上设置了错误的权限导致了问题。
以上博客文章摘录:
这里有oracle文件权限 -rwxrwxr-x即775,但此文件必须具有权限-rwsr-s- -x 即6751
更改oracle的权限 文件。
$ cd $ORACLE_HOME/bin
$ chmod 6751 oracle
$ ls -l oracle
-rwsr-s--x 1 oracle dba 119582976 Feb 3 2008 oracle
更改权限后 oracle可执行文件,所有用户 现在能够连接到 数据库没有任何错误。
阅读博客文章了解详细信息。
答案 1 :(得分:0)
该错误表明它正在尝试连接到不存在的同一主机上的实例。一般来说,我会说数据库实际上并没有正常运行,但是如果你可以与SQL Developer建立连接,那就表明它是。但请检查您是否在正确的机器上。
也可以尝试
echo :${ORACLE_SID}:
SID中可能存在一些流浪角色。如果您使用XE,则希望看到:XE:
(大写,不混合或更低)
你试过吗
imp n_data/password@XE