首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>oracle>正文

快速掌握解决ORA-00844错误的实用方法

http://www.oklinux.cn  2008-03-07  来源: 赛迪网 雅诗  会员收藏  游客收藏  【 】 

问题:我在将Oracle的内存管理方式改为自动内存管理时,出现ORA-00844错误,请问应当怎样解决?

解答:这个错误不应该算作Oracle的bug,由于你设置了Oracle的MEMORY_TARGET参数的值小于了SGA_TARGET和PGA_TARGET的总和,因此才会报错。

[oracle@yangtk ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Wed Jan 16 07:30:33 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> set pages 100 lines 120 
SQL> show parameter target

NAME TYPE VALUE
------------------------------------ -----------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 0
memory_target big integer 0
pga_aggregate_target big integer 100M
sga_target big integer 252M
SQL> alter system set memory_target = 220m scope = spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account, 
see alert log for more information

其实这个错误很多情况下是由于人为设置的参数太小造成的。但是Oracle在此处存在两个问题,首先,没有通过错误信息告诉用户,是哪些参数的值设置导致的问题。第二点尤为严重,Oracle的错误信息显示,进一步的错误信息去alert文件中寻找,但是:

SQL> host [oracle@yangtk ~]$ tail -

30 /data/oracle/diag/rdbms/ora11g_p/ora11g/trace/alert_ora11g.log 
Wed Jan 16 07:42:00 2008
ARCH shutting down
ARC1: Archival stopped
Wed Jan 16 07:42:00 2008
ARCH shutting down
ARC0: Archival stopped
Wed Jan 16 07:42:00 2008
ARC3: Becoming the 'no FAL' ARCH
ARC3: Becoming the 'no SRL' ARCH
ARC3: Archiving disabled
ARCH shutting down
ARC3: Archival stopped
ARC2: Archival stopped
Thread 1 closed at log sequence 268
Successful close of redo thread 1
Completed: ALTER DATABASE CLOSE NORMAL
ALTER DATABASE DISMOUNT
Completed: ALTER DATABASE DISMOUNT
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Wed Jan 16 07:42:02 2008
Stopping background process VKTM: 
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Wed Jan 16 07:42:05 2008
Instance shutdown complete

大家可以发现,在alert文件中没有任何的错误信息,看来Oracle在尝试启动直接进行了参数的检查,这个检查过程就直接报错了,不过即使报错也应该记录到alert文件中,何况错误信息中明明显示要在alert文件中寻找进一步的错误。

解决方法:创建pfile,然后修改MEMORY_TARGET的值即可解决此问题。

示例:

SQL> create pfile='/home/oracle/initora11g.ora' from spfile;

File created.

SQL> host echo "memory_target=367001600" >> /home/oracle/initora11g.ora

SQL> startup pfile=/home/oracle/initora11g.ora
ORACLE instance started.

Total System Global Area 267825152 bytes
Fixed Size 1299316 bytes
Variable Size 176163980 bytes
Database Buffers 88080384 bytes
Redo Buffers 2281472 bytes
Database mounted.
Database opened.

SQL> create spfile from pfile='/home/oracle/initora11g.ora';
File created.


上一篇:使用简化连接时如何才能不显示输入密码   下一篇:深入讲解redo log file损坏的处理过程


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·深入讲解redo log file损坏的处理过程
·使用简化连接时如何才能不显示输入密码
·对外连接的表加上条件后将会使外连接失效
·轻松解决Oracle 10g 的em中文乱码问题
·奇怪的SQL:排序方法不同但结果却是一样的
·怎样将"Oracle"的外部表汉字转换为拼音
·解决不同字符集数据库间的数据同步问题
·如何更改rac的vip地址和集群互联地址
·在数据库日渐庞大时应该如何进行归档
·在Suse中让其他用户也能运行Oracle命令
·“顺序事务”与“只读事务”的实际应用
·在Aix平台上监视cpu并实时获得SQL语句
·statspack中的Library Hit是如何计算的
·通过rman backup as copy移动数据文件
·教你快速掌握"Oracle"的管道化表函数
·详细讲解Oracle中isnumeric的三种实现
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·讲解Oracle移动数据文件到新分区的过程
·如何使用Ruby脚本调用Oracle存储过程
·哪些因素可以影响Oracle数据库的性能
·带你深入了解Oracle数据库的进制转换
·讲解V$Datafile_Header相关字段的使用
·探讨基于不绑定变量与绑定变量的柱状图
·pl/sql developer中TIMESTAMP的显示格
·教你快速掌握如何使用"Opatch"打补丁
·如何调整"Oracle"数据库服务器的性能
·视图上含有row_number分析函数没法走索
·Linux自动备份MySQL数据库的实用方法
·如何更改rac的vip地址和集群互联地址
  阅读排行
·如何修改遗失的MySQL的ROOT用户密码
·详解远程SHELL下安装配置RedHat ES 5的
·教你如何将MySQL数据库的密码恢复
·教你在MySQL从口令恢复设置的密码
·在 Oracle Enterprise Linux 上升级到
·oracle9i installation on fedora core
·Oracle Instant client介绍
·Oracle高级复制(同步复制)配置步骤详细
·用Oracle归档日志进行恢复的方法
·Linux下的Oracle数据库编程详解
·Linux下Oracle9i RMAN备份及恢复步骤介
·带你轻松接触一些比较常用的sql*plus命
·Oracle的快照复制
·Oracle HA 在Unix上双机环境的安装指南
·Oracle 数据库存储结构简介
网摘收藏: