RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
oracle故障怎么分析 Oracle数据库问题解决方案和故障排除手册

oracle在首次启动的时候提示memory_target不正确,实例不能启动,如何去分析解决问题

1、11g中新增MEMORY_MAX_TARGET参数。memory_max_target是设定Oracle能占OS多大的内存空间,一个是Oracle SGA区最大能占多大内存空间。

淳安网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

11g中默认为0则初始状态下取消了Memory_target的作用,完全和10g在内存管理上一致,完全向下兼容。

2、SQL show parameter target

memory_max_target big integer 1520M

3、命令修改

SQLALTER SYSTEM SET MEMORY_MAX_TARGET = 1024M SCOPE = SPFILE;

SQLALTER SYSTEM SET MEMORY_TARGET = 1024M SCOPE = SPFILE;

SQLALTER SYSTEM SET SGA_TARGET =0 SCOPE = SPFILE;

SQLALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0 SCOPE = SPFILE;

4、错误

ALTER SYSTEM SET MEMORY_MAX_TARGET = 4096M SCOPE =both; both必须改为spfile.

*

ERROR at line 1:

ORA-02095: specified initialization parameter cannot be modified

5、错误

ALTER SYSTEM SET MEMORY_TARGET = 4096M SCOPE =sfile;

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET

6、我的主机内存为4G,我将MEMORY_TARGET设置为4G,无法启动

SQL ALTER SYSTEM SET MEMORY_MAX_TARGET = 4096M SCOPE=spfile;

System altered.

SQL ALTER SYSTEM SET MEMORY_TARGET = 4096M SCOPE=spfile;

System altered.

SQL create pfile from spfile;

File created.

SQL shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL startup

ORA-00845: MEMORY_TARGET not supported on this system

oerr ora 845

00845, 00000, "MEMORY_TARGET not supported on this system"

// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.

// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.

因为tmpfs的大小MEMORY_TARGET的设置,就会报这种错误。

cat /etc/fstab

tmpfs /dev/shm tmpfs defaults,size=3G 0 0

umount /dev/shm

fuser -km /dev/shm

mount /dev/shm

7、vi $ORACLE_HOME/dbs/initSID.ora

需要提前create pfile from spfile;

SQLstartup pfile=initSID.ora

或者vi $ORACLE_HOME/dbs/spfileSID.ora

将下列行修改为合适的大小或者直接删除

*.memory_max_target=4294967296

*.memory_target=4294967296

SQLstartup

我的oracle宕机了怎么处理

1、案例现象

在root用户下,su切换到一个普通用户oracle下,却发生了如下错误:

oracle数据库意外宕机的分析处理案例

于是,尝试直接通过oracle用户登录系统,发现此时的oracle用户也无法登录了,出现与上面同样的错误。

2、解决思路

从上面错误提示可知是权限出现了问题,那么可以从权限入手进行排查,基本思路如下:

用户目录/home/oracle权限问题;

su程序执行权限问题;

程序依赖的共享权限问题;

selinux问题导致;

系统根空间问题。

3、排查问题

根据上面的思路,我们进行逐一检查,考虑到su在切换到oracle用户时会读取oracle目录下的环境变量配置文件,因此,首先检查/home/oralce目录的权限是否存在问题,

[root@loaclhost home]# ls -al/home|grep oracle

drwx---- 4 oralce oinstall 4096 01-31 10:45 oracle

从输出可知,/home/oracle目录的属主是oracle用户,oracle用户对这个目录有“rwx”权限,因此,oracle用户目录的权限设置是正确的,可以排除掉这个问题了。

接着检查su执行权限问题:

[root@loaclhost home]# 11 /bin/su

-rwsr-xr-x 1 root root 24120 2007-11-30 /bin/su

可见su命令执行权限也没有问题,这个也排除了。

继续检查su依赖的共享库权限,使用ldd命令检查su命令依赖的共享库文件,如下图

oracle数据库意外宕机的分析处理案例

根据上面的操作,依次检查su命令依赖的每个库文件的权限,发现也都是正常的,因此,共享库的问题也排除了。

根据上面的思路,绩效检查SELinux的设置。

oracle数据库意外宕机的分析处理案例

由输出可知,SELinux处于关闭状态,这个原因也排除了。

到这来为止,问题变得朴素迷离,到底是哪里出现问题了呢?作为Linux运维,例行检查系统根分区状态是非常必要的,那么首先检查一个根分区的磁盘空间大小,发现剩余空间还有很多,空间问题也排除了。既然报的错误是权限有问题,那么只要以权限为线索,不偏离这个核心就没错,于是继续尝试检查/home目录下各个用户的权限,如下图。

oracle数据库意外宕机的分析处理案例

从输出看每个用户的目录权限,都是“rwx----”,即“700”,完全没有问题,可是我发现我错了,我的目光一直在用户对应的目录上,而忽略了其他输出信息,而问题就藏在我没有关注的信息中。在这个命令输出的前两行中,第一行权限对应的目录是“.”,代表当前目录,也就是/home目录,权限为“rwxr-xr-x”,第二行权限对应的目录是“..”,也就是根目录,权限却为“rw-rw-rw-”,即“666”,此时,问题终于查找到了,原来是根目录权限问题。

4、解决问题

知道了问题产生的原因,解决问题就非常简单,执行如下命令:

[root@localhost~]#chmod 755 /

然后就可顺利执行su切换命令。

经验分享

这个问题主要是由于根目录没有执行权限,而Linux下所有的操作都是在根目录下进行的,进而导致/home/oralce目录没有执行权限。其实根目录权限的丢失对于系统中运行的每个用户存在同样的影响。因此,在权限出现问题时,一定要注意根目录的权限。

如何解决ORA-01033问题

Oracle错误:ORA-01033

错误编码:ORA-01033: ORACLE initialization or shutdown in progress

故障描述:因为移动了数据库文件([NAME].DMP)/日志文件等文件,导致数据库连接出现ORA-01033错误。

故障分析:网上有一种常见的说法是该类故障通常是由于移动文件而影响了数据库日志文件出现损坏而导致的无法正常进行IO操作而引起的错误。ORACLE将识别为数据库未装载完成而导致出现如上错误。

故障特征:使用命令行sqlplus或PL/SQL Developer均无法打开数据库。但是可以使用sys用户以sysdba的身份登录系统

处理步骤:

1. 在 ‘开始’--‘运行’执行cmds

2. 输入:sqlplus "/ as sysdba"

应提示类似于如下信息:

SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 5月 20 22:07:45 2009

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

连接到:

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

3. 输入:shutdown immediate

应提示类似于如下信息:

ORA-01109: 数据库未打开

已经卸载数据库。

4. 输入:startup

应提示类似于如下信息:

ORA-01157: 无法标识/锁定数据文件 15 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 15: 'D:\TEST\MY_INDEX1_1.DBF'

5. 根据第4步信息输入:alter database datafile 'D:\TEST\MY_INDEX1_1.DBF' offline drop

应提示类似于如下信息:

数据库已更改。

6. 重复第3、4、5步骤,直到第4步不再出现ORA-01157、ORA-01110错误信息,即告OK.


网站栏目:oracle故障怎么分析 Oracle数据库问题解决方案和故障排除手册
转载来源:http://lswzjz.com/article/hijhsi.html