数据库未打开

use*_*mma 3 oracle oracle11gr2

我正在尝试在 Windows 2008 服务器上使用 Oracle 11g R2 创建数据库,当我运行脚本来创建数据库实例时,我将收到以下错误消息

ERROR at line 1: ORA-01109: database not open

grant select on ALL_MVIEW_DETAIL_PARTITION to public with grant option *

ERROR at line 1: ORA-01109: database not open

以管理员身份登录。`

谢谢,用户mma

小智 5

使用 root 登录 Oracle

su - oracle
sqlplus / as sysdba
create user username identified by password;
Exception : ORA-01109 Database not open
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我尝试了以下步骤并成功创建了架构。

  1. 请验证 ORA_HOMEPATH/dbs/sgadef.dbf
  2. 确保关闭 Oracle 服务器后,如果您发现计算机上有任何服务正在运行,请输入以下命令

    ps -ef | grep ora_ | grep DBName(sid)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果发现任何进程,请使用kill命令杀死进程

    kill -9 PID
    
    Run Code Online (Sandbox Code Playgroud)
  4. 请检查以下文件是否存在于上述路径中;如果没有请创建。

    ORACLE_HOMEPATH/dbs/lk<sid>
    
    Run Code Online (Sandbox Code Playgroud)
  5. start mount;如果服务器已启动,请使用立即关闭

    SQL> alter database close;
    
    Database altered.
    
    SQL> shutdown immediate
    ORA-01109: database not open
    
    Database dismounted.
    ORACLE instance shut down
    
    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area  126951228 bytes
    Fixed Size                   454460 bytes
    Variable Size             109051904 bytes
    Database Buffers           16777216 bytes
    Redo Buffers                 667648 bytes
    Database mounted.
    
    SQL> select open_mode from v$database;
    
    OPEN_MODE
    ----------
    MOUNTED
    
    SQL> alter database open;
    
    Database altered.
    
    Run Code Online (Sandbox Code Playgroud)
  6. 现在,您可以在数据库打开时创建自己的架构

    SQL> create user schemaname identified by password;
    
    SQL> grant resource,connect to schema name;
    
    grant permission succeded.
    
    Run Code Online (Sandbox Code Playgroud)

我已完成上述步骤以在数据库未打开时创建架构。