Oracle10g启动失败解决方法

 

本文主要针对 windows 环境下 oracle (9i 10g)启动失败,

首先,要查看 oracle 的监听 , em , 服务 是否都已经启动。如果已经启动,但仍然无法连接,首先将服务全部停止,然后按照以下顺序尝试重启

 

#启动监听
lsnrctl start

#关闭监听
lsnrctl stop

用lsnrctl reload重启监听器,此命令可以代替lsnrctl stop和lsnrctl start。重启将会在不需要关闭和启动监听器的情况下读取listener.ora的配置。

 

#启动oradb数据库服务

net start oracleserviceoradb

 

#关闭oradb数据库服务

net stop oracleserviceoradb

 

#启动dbconsole服务
emctl start dbconsole

#停止dbconsole服务
emctl stop dbconsole

#启动数据库
sqlplus
sql>/as sysdba
sql>startup

#停止数据库
sql>shutdown immediate

 

要启动或者停止服务,必须拥有sysdba的权限。

 

关闭数据库  shutdown

有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句 (推荐)
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库


normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。


前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!

 

数据库的启动
数据库启动使用startup命令,它有三种情况
第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
第三种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了! 

其他问题:

提示:环境变量 ORACLE_SID 未定义,请定义。

设置 ORACLE_SID =WLW (WLW是我的实例名,也是服务名) C:\Documents and Settings\xcl>set ORACLE_SID=WLW(注意大写)

 

Oracle 10g错误:shared memory realm does not exist的分析与解决容,情况是这样的:在连接Oracle 10g时出现了错误:“shared memory realm does not exist”,如下图所示:

Oracle 10g错误:shared memory realm does not exist

上图就是Sqlplus连接时出现这个错误,经过分析终于找到了解决问题的方法。

解决方法:

本文一开始提出问题,这里做一解决,为什么会出现那个问题了是因为Oracle数据库没有被启动,解决的方法就是如上面3所示操作打开数据库;

上述问题表现最直接的一个现象:查看任务管理器下oracle.exe所占内存,当oracle.exe所占内存为几十兆说明Oracle数据库没有启动,正常oracle.exe所占内存如下:

Oracle 10g错误:shared memory realm does not exist

现在还原错误:关闭数据库后连接数据库,查看oracle.exe所占内存

Oracle 10g错误:shared memory realm does not exist

查看内存:

Oracle 10g错误:shared memory realm does not exist

与正常启动时相差比价大,所以总结一下解决“shared memory realm does not exist”方法:

(1)任务管理器中查看oracle.exe所占内存,当oracle.exe所占内存仅为几十兆,说明问题是数据库没有启动

(2)启动Oracle数据库,管理员登录,启动。

Java代码:

 
 
  1. sqlplus /nolog     
  2. conn USER/PASSWORD as sysdba     
  3. startup 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于在 Docker 中安装和启动 Oracle 11g,可能会遇到一些问题。以下是一些可能导致启动失败的常见原因和解决方案: 1. 容器配置不正确:确保您的 Docker 容器正确配置了所需的资源和环境变量。例如,确保容器具有足够的内存和存储空间,并且已设置了正确的 ORACLE_SID 和 ORACLE_HOME 环境变量。 2. 文件权限不正确:Oracle 要求数据库文件和目录具有特定的权限。在容器中运行 `chmod` 命令,确保文件和目录的权限正确设置。 3. 内存不足:Oracle 11g 对内存要求较高,如果您的 Docker 容器没有足够的可用内存,可能会导致启动失败。尝试增加分配给容器的内存。 4. 端口冲突:确保 Docker 主机上的端口没有与 Oracle 所需的端口冲突。Oracle 11g 默认使用端口号 1521 进行监听,如果该端口被其他进程占用,可以尝试更改 Oracle 的监听端口。 5. 数据库文件损坏:如果之前安装Oracle 11g,并且数据库文件损坏或存在问题,可能会导致启动失败。您可以尝试删除旧的数据库文件并重新运行容器。 这些是一些常见的解决启动失败方法,但具体问题可能因环境和配置而异。建议您查看容器日志和错误消息,以获取更多详细信息,并根据具体情况采取相应的解决方案。祝您成功安装和启动 Oracle 11g!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值