我之前发布过关于srvctl
,没有意识到它仅在安装了 Grid Infrastructure 时使用,在我的情况下,不是。
无论如何,我在我的 Windows 8.1 pro 个人计算机上安装了 Oracle 12c 数据库,用于测试目的(实际上是学校作业)。因此,我不希望每次登录我的电脑时它都会启动。SQL shutdown
每次我登录时都 被迫运行是一件麻烦事(我意识到我可以编写一个批处理脚本,但这是最后的手段)。
我无法弄清楚启动时启动 Oracle 实例的服务是什么。有谁知道做什么?我一直在梳理 Oracle Doc,但似乎无法找出它是什么。
TL;DR:只是试图阻止我的 Oracle 数据库在 PC 启动时进行初始化。
您需要防止
OracleService<<SID>>
自动启动。假设您使用默认 SIDORCL
,即 OracleServiceORCL。您可能还会看到许多其他服务,这些服务以
Oracle
用于各种其他组件(即您的侦听器、您的 MTS 恢复服务等)开始。如果需要,您可以将所有这些设置为不自动启动。鉴于这些服务往往使用更少的资源,通常最容易让它们运行以使以后更容易启动数据库。你有两个解决方案:
在 Windows 操作系统的运行中,输入 services.msc 并回车,从服务列表中找到OracleService < SID 名称>并右键单击并选择属性。在“启动类型”部分的“常规”选项卡中,选择“手动”并单击“确定”并退出。
从现在开始,您的数据库不会在机器启动时自动启动,但无论何时您想启动它,您都必须转到 services.msc 并手动启动它。您也可以从 Windows 任务管理器(从“服务”选项卡)执行此操作。
让“services.msc”中的启动类型为自动。打开 Windows 命令提示符 (Admin) 并键入此语句(而不是 ORCL 使用您的 SID 名称)。本主题的答案。
oradim -edit -sid ORCL -startmode manual
现在您的数据库处于惯用称为idle的状态。您可以通过使用 sysdba 权限登录到 SQL*Plus 来启动数据库,然后键入
startup
命令。