oracle 无法使用“imp”导入转储
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/3470205/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
unable to import dump using "imp"
提问by hnm
I am trying to import into oracle using imp
command and the output of the command is as below.
我正在尝试使用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#
user name and password are correct(I am able to connect using sqldeveloper). I have granted dba
access to n_data
. All the environment variables are set (I ran oracle_env.sh
before running env
). So what might be the problem? I am running oracle on debian.
用户名和密码正确(我可以使用 sqldeveloper 连接)。我已授予dba
访问权限n_data
。设置了所有环境变量(我在运行oracle_env.sh
之前运行env
)。那么可能是什么问题呢?我在 debian 上运行 oracle。
回答by zendar
Check this blog post: ORA-27123: unable to attach to shared memory segment.
查看此博客文章:ORA-27123:无法附加到共享内存段。
It describes same error as you have and problem was caused with incorrectly set permissions on oracle executable.
它描述了与您相同的错误,问题是由于对 oracle 可执行文件的权限设置不正确而引起的。
This is excerpt from the above blog post:
这是上述博客文章的摘录:
Here the oracle file permission has -rwxrwxr-x i.e. 775, but this file must have the permission -rwsr-s- -x i.e. 6751
Change the permissions for oracle file.
这里oracle文件权限有-rwxrwxr-x ie 775,但是这个文件必须有权限-rwsr-s- -x ie 6751
更改 oracle 文件的权限。
$ cd $ORACLE_HOME/bin
$ chmod 6751 oracle
$ ls -l oracle
-rwsr-s--x 1 oracle dba 119582976 Feb 3 2008 oracle
After changing the permissions on oracle executable file, all the users are now able to connect to the database without any errors.
更改 oracle 可执行文件的权限后,所有用户现在都可以无错误地连接到数据库。
Read blog post for detailed information.
阅读博客文章了解详细信息。
回答by Gary Myers
The error suggests it is trying to connect to an instance on the same host that isn't there. Generally I'd say the database isn't actually up and running, but if you can connect with SQL Developer, it suggests it is. But check you are on the correct machine.
该错误表明它正在尝试连接到不存在的同一主机上的实例。通常我会说数据库实际上并没有启动并运行,但是如果您可以连接 SQL Developer,它表明它是。但请检查您是否在正确的机器上。
Also try
也试试
echo :${ORACLE_SID}:
There may be some stray character in the SID. If you are using XE, you want to see :XE:
(in upper case, not mixed or lower)
SID 中可能有一些杂散字符。如果你用的是XE,你想看:XE:
(大写,不混合或小写)
Have you tried
你有没有尝试过
imp n_data/password@XE