Ubuntu 上的 Oracle 11 XE 给出 ORA-27101:共享内存领域不存在

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/20827539/
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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 02:08:59  来源:igfitidea点击:

Oracle 11 XE on Ubuntu giving ORA-27101: shared memory realm does not exist

linuxoracleubuntuoracle11g

提问by user2542682

I am trying to setup oracle 11g xe on my ubuntu system. I started with instructions given on http://meandmyubuntulinux.blogspot.com/2012/05/installing-oracle-11g-r2-express.htmland its other link as well. Everything works fine and database gets installed. XE schema gets created. problem: I am not able to log into database.

我正在尝试在我的 ubuntu 系统上设置 oracle 11g xe。我从http://meandmyubuntulinux.blogspot.com/2012/05/installing-oracle-11g-r2-express.html及其其他链接上给出的说明开始。一切正常,数据库安装完毕。XE 模式已创建。问题:我无法登录数据库。

when I try

当我尝试

sqlplus / as SYSDBA

I get

我得到

ERROR:
ORA-01031: insufficient privileges

Enter user-name: root
Enter password: 
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0

I have checked ORACLE_SID is XE I have manually put root user to DBA group

我已经检查过 ORACLE_SID 是 XE 我已经手动将 root 用户放入 DBA 组

everything is fine in Listener.ora. I also created initXE.ora as suggested in some blog and assigned it to DBA group and put it in classpath.

在 Listener.ora 中一切正常。我还按照一些博客的建议创建了 initXE.ora 并将其分配给 DBA 组并将其放在类路径中。

I think I tried almost everything. and nothing more comes to my mind.

我想我几乎尝试了所有方法。没有更多的东西出现在我的脑海中。

question : how else can I log in?

问题:我还能怎样登录?

回答by Guntram Blohm supports Monica

Seems like your oracle database isn't running. Shared memory is what your client uses to talk to the server when you use the BEQ adapter - i.e. you're not running over the network. Check ps -fuoracle(assuming you named your db user oracle) if the server is up.

好像您的 oracle 数据库没有运行。当您使用 BEQ 适配器时,共享内存是您的客户端用来与服务器通信的内容 - 即您没有通过网络运行。检查ps -fuoracle(假设您将数据库用户命名为 oracle)服务器是否已启动。

回答by X-HuMan

Use this command to log in with SQL plus

用这个命令用SQL plus登录

sqlplus {username}/{password}@//{ip}:{port}/{SID}

sample:

样本:

sqlplus test_username/test_password@//192.168.0.12:1521/val

回答by Dev4All

You must create a new user and then you will be able to connect

您必须创建一个新用户,然后才能连接

  $> su - oracle
  $> . goo
  $> sqlplus / as sysdba
  SQL> create user <myuser1> identified by <mypassword>;
  SQL> grant connect, resource to <myuser1>;
  SQL> connect <myuser1>/<mypassword>

Edited
To Start the instance

编辑
启动实例

  $>sys as sysdba
  SQL>Enter password:<*****>
  SQL>startup open

回答by Abhishek KM

Connect to Oracle as sys user and Run these commands.

以 sys 用户身份连接到 Oracle 并运行这些命令。

sqlplus sys/sys as sysdba
shutdown
startup
exit