系统装Oracle已经有一段时间了,今天打开Oracle在进行登录时出现了登录错误,如下:
C:\Documents and Settings\Administrator>sqlplus
Enter user-name:system
Enter password:oracle
error: ORA-01034: Oracle not available
ORA-27101: shared memory realm does not exist
这个错误百度一下,已经有好几个版本解答,但是大致都是一个错误,就是数据库实例没有启动。于是,我按照网上的解答进行了修改:
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL>conn system/oracle as sysdba
SQL>startup nomount
SQL>alter database mount;
SQL>alter database open;
此后,用SQL plus或CMD命令以system登录,成功。
总结:初步掌握了数据库登录报错的方法,原因有三。
一、看Windows任务管理器里的进程一栏,找Oracle.exe的内存使用,如果您的内存使用仅为几十M,那么就说明数据库没有启动。启动后的数据库应为几百M;
二、看sqlnet.ora文件里的SQLNET.AUTHENTICATION_SERVICES和NAMES.DIRECTORY_PATH两行命令。命令分为如下:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME)
三、看tnsnames.ora文件里是否有你的数据库实例。若没有,则添加上。如:
ORCL =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = CHINA-8B0CE1E1C)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) )最后,不要忘记去服务里把OracleOraDb10g_home1TNSListener重新启动一下,才能生效。