我的Oracle数据库每天都会遇到一个重复出现的问题。我最近连接它,现在当我重新启动时,它似乎失去了它。通过丢失它,我的意思是当我尝试以普通用户身份登录时,收到ORA-01034错误以及ORA-27101错误。如果我尝试使用我的SYS用户,我得到的错误不足(ORA-01031)。重新启动后无法登录到Oracle数据库
我发现,如果我删除服务并重新创建它,我可以重新登录。但是,这不可行,因为它是我的本地环境,我倾向于通常在夜间关闭。我可以保持我的盒子和每周做,但这似乎并不是一个可行的想法。
下面是我的TNSNames和Listener文件。
的tnsnames.ora
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
BRACMIS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.x.xx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BRACMIS)
(INSTANCE_NAME = BRACMIS)
)
的listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\chad.johnson\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\chad.johnson\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(ORACLE_HOME = C:\app\chad.johnson\product\11.2.0\dbhome_1)
(SID_NAME = BRACMIS)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.x.xx)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = C:\app\chad.johnson\product\11.2.0\dbhome_1\log
)
我也注意到,当我今天早上开始了我为11g和OracleInstanceBRACMIS服务并重Oracle服务均关闭。不知道这是否与此有关。谢谢。
编辑:我找到了一种方法来强制我的数据库启动。在命令提示符下,输入我的命令:
ORADIM -startup -SID BRACMIS
这让我开始我的数据库,这反过来让我登录到它的持续多久。这并不能解决重新启动后不能登录的问题,但它确实为我提供了一种至少启动数据库的方法,而不是删除Oracle服务实例并将其添加回来。
我已经改变了我的Oracle实例服务设置为自动了。 至于命令提示符,这是问题的一部分。当我尝试以sysdba身份登录时,收到“权限不足”的消息。我相信Oracle正在尝试使用我给DB/SYS /系统的凭据。即使使用这些凭据,我仍然可以得到相同的响应。 – IyaTaisho
是否设置了ORACLE_HOME和ORACLE_SID? – cableload
是的,我已经设置了两个。我确实找到了一种强制数据库启动的方法。使用命令oradim -STARTUP -SID BRACMIS,我的数据库启动了,现在我可以输入它了。 – IyaTaisho