【问题标题】:Oracle - multiple databases on one server, connect issueOracle - 一台服务器上的多个数据库,连接问题
【发布时间】:2014-03-14 20:43:27
【问题描述】:

我是 Oracle 数据库的新手,到目前为止我只使用 MS SQL Server。我在运行 Windows 8 的笔记本电脑(MS 习惯)上创建了两个数据库。

我使用 SQL Plus 和“正常关机”命令停止了这两个数据库。在停止这些数据库之前,我使用“user/password@database_SID”语法连接到它们。关机后我无法选择要连接的数据库,因为使用“@Database_SID”时出现此错误:

“ORA-12514: TNS:listener 目前不知道连接描述符中请求的服务”。

如何在没有“@Database_SID”语法的情况下定义要连接的数据库?

非常感谢您的帮助!

【问题讨论】:

  • 如果你在服务器上运行sqlplus,以前是设置ORACLE_SID环境变量,然后调用sqlplus。
  • @user3313214:是的,您需要检查您的侦听器是否正在运行!在 oracle 服务器中导出您的 sid,然后键入 lsnrctl start
  • 需要注意的一点是,Oracle 对“数据库”的定义与 SQL Server 对“数据库”的定义有很大不同。 SQL Server“数据库”在逻辑上大致等同于 Oracle 模式。在笔记本电脑上运行两个独立的 Oracle 数据库通常不是一个好主意。这意味着您将运行两组后台进程,您将在 RAM 中分配两个单独的 SGA 和 PGA,等等。在 Oracle 中拥有一个具有两种不同模式的数据库会更加等效。

标签: database oracle shutdown ora-12514


【解决方案1】:

确保监听器正在运行。

在 Windows 上,Oracle 似乎使用网络层,即使在本地连接时也是如此。

【讨论】:

    【解决方案2】:

    在您的机器上本地,您使用 IPC - 进程间通信登录到您的数据库,以便进行管理工作。 (启动、关闭、挂载等)

    C:\>set ORACLE_SID=DB1
    C:\>sqlplus / as sysdba -- make sure you are member of group "ORA_DBA"
    SQL>startup
    
    C:\>set ORACLE_SID=DB2
    C:\>sqlplus / as sysdba 
    SQL>startup
    

    ORA-12514 表示数据库没有注册到监听器,因为数据库状态是shutdown

    注意。 Windows 服务OracleService<SID> 的状态可以是“正在运行”,但数据库可以停止(关闭)

    无需在笔记本电脑上运行两个物理数据库。资源浪费。在 Oracle 术语中,您需要两个模式。

    【讨论】:

    • 谢谢,这非常有用。创建第二个数据库后,我意识到 Oracle 数据库 MS 数据库。
    猜你喜欢
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多