0

我正在尝试使用命令导入 oracle,imp命令的输出如下。

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。

4

2 回答 2

3

查看这篇博文:ORA-27123:无法附加到共享内存段

它描述了与您相同的错误,并且问题是由于对 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可执行文件的权限后,所有用户现在都可以连接到数据库而不会出现任何错误。

阅读博客文章了解详细信息。

于 2010-08-12T23:41:07.830 回答
0

该错误表明它正在尝试连接到同一主机上不存在的实例。一般来说,我会说数据库实际上并没有启动并运行,但如果你可以连接 SQL Developer,它表明它是。但请检查您是否在正确的机器上。

也试试

echo :${ORACLE_SID}:

SID 中可能有一些杂散字符。如果您使用的是 XE,您想查看:XE:(大写,不混合或小写)

你有没有尝试过

imp n_data/password@XE
于 2010-08-12T23:12:20.387 回答