ORA-01034: 异常分析处理

来源:互联网 发布:大外交 知乎 编辑:程序博客网 时间:2024/05/30 23:24

ORA-01034: 异常分析处理

问题描述:

今天oracle服务器叒意外断电,启动oracle服务再次连接时,发现oracle服务无法连接,提示错误:
ORA-01034: ORACLE not available
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 4294967296 cannot be set to more than MEMORY_TARGET 3221225472.
最终通过修改pfile的方式解决,详细处理过程如下:

连接oracle

打开cmd,设置oracle_sid

set oracle_sid=dbname

sqlplus / as sysdba
已连接到空闲例程。

SQL> show parameter
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0

SQL> ERROR:
ORA-03113: 通信通道的文件结尾
进程 ID: 0
会话 ID: 0 序列号: 0

已断开连接

测试启动服务

再次连接oracle,如下如下命令启动oracle服务:

sqlplus / as sysdba
已连接到空闲例程。

SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 4294967296 cannot be set to more than MEMORY_TARGET 3221225472.

上述提示内存设置参数错误,需要调整参数 SGA_MAX_SIZE,直接使用如下命令修改:

尝试修改内存参数

SQL> alter system set sga_max_size=2g scope=spfile;
alter system set sga_max_size=2g scope=spfile
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0

仍然提示错误,看来只能通过修改pfile方式了。

创建 pfile:

SQL> create pfile from spfile;
文件已创建。

修改参数

默认 pfile 文件生成在如下目录,(oracle安装目录不同,请自行调整):
D:\app\Administrator\product\11.2.0\dbhome_1\database\INIT%dbname%.ORA

使用notepad 打开子文件:INIT%dbname%.ORA,找到如下两行:

*.memory_target=3221225472
*.sga_max_size=4294967296

并修改 .sga_max_size 的值小于等于 .memory_target 的值,修改如下,并保存退出;

*.memory_target=3221225472
*.sga_max_size=3221225472

创建 spfile

SQL> create spfile from pfile;

文件已创建。

重新启动oracle服务

在windows任务管理器,服务中,找到对应oracle服务,重启;

再次验证,成功

sqlplus / as sysdba
SQL> show parameter sga

NAME TYPE VALUE


lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 3G
sga_target big integer 0
SQL>

原创粉丝点击