PS:今天上午,非常郁闷,有很多简单基础的题问搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

好忘性不如烂笔头,后以将项目中见常的oracle的错误,已处理办法具体记录下来。


1.ORA-24324:

错误描述:

SQL> shutdown immediate; ORA-24324: service handle not initialized ORA-24323: value not allowed ORA-01089: immediate shutdown in progress - no operations are permitted

错误处理办法:

A、 切换到root用户下,杀掉oracle相干的进程:  root> ps -ef|grep $ORACLE_SID|grep -v grep|awk '{print $2}'|xargs -i kill -9      B、 用ipcs令指来查检数据库占用的内存:  root> ipcs –m  IPC status from /dev/kmem as of Mon Sep 10 16:45:16 2001  T      ID     KEY        MODE     OWNER  GROUP  SEGSZ  CPID  LPID  Shared Memory:  m   24064 0x4cb0be18 --rw-r----- oracle    dba 28975104  1836 23847  m       1 0x4e040002 --rw-rw-rw-   root   root    31008   572   572  m       2 0x411ca945 --rw-rw-rw-   root   root     8192   572   584  m    4611 0x0c6629c9 --rw-r-----   root   root  7216716  1346 23981  m       4 0x06347849 --rw-rw-rw-   root   root    77384  1346  1361   C、用ipcrm命令释放掉数据库占用的内存:  root> ipcrm -m 24064  D、进入sqlplus重新动启数据库实例


2.见常的表空间缺乏,须要展扩表空间:

错误描述:

********表空间缺乏等

错误处理办法:

alter tablespace SYSTEM add datafile '/ora/oracle/app/oracle/cbsdb164/system17.dbf' size 200m;


3.undo日记过大

错误描述:

当空间够不,没有东西可以删,只能通过重建undo日记

错误处理办法:

1. 新增一个undo tablespace.  SQL> create undo tablespace UNDOTBS2 datafile '/opt/oracle/oradata/undotbs001.dbf' size 2048M extent management local;  Tablespace created.  SQL>   2. 设置用使新增的undo tablespace.  SQL> alter system set undo_tablespace=UNDOTBS2 scope=both;  System altered.  SQL>   3. 除删。  SQL> drop tablespace UNDOTBS1 including contents and datafiles cascade constraints;  Tablespace dropped. SQL>   4. 重建  SQL> create undo tablespace UNDOTBS1 DATAFILE '/opt/oracle/oradata/undotbs01.dbf' SIZE 3048M EXTENT MANAGEMENT LOCAL;  Tablespace created.  SQL>   5. 设置用使新的  SQL> alter system set undo_tablespace=UNDOTBS1 scope=both;  System altered.  SQL>   6. 除删临时undo tablespace.  SQL> drop tablespace UNDOTBS2 including contents and datafiles cascade constraints;  Tablespace dropped.

每日一道理

“一年之计在于春”,十几岁的年纪,正是人生的春天,别辜负了岁月老人的厚爱与恩赐。行动起来,播种梦想吧!



3.ORA-03113

错误描述:

ORA-03113: end-of-file on communication channel               Process ID: 21812               Session ID: 170 Serial number: 3

错误处理办法:

动启数据库   #su - oracle     #sqlplus / as sysdba     #startup     看查它的动启日记     #cd /opt/oracle/db/diag/rdbms/iptvmem/iptvmem/trace     #tail -f alert_iptvmem.log      会有如下的错误:     ALTER DATABASE   MOUNT    Errors in file /opt/oracle/db/diag/rdbms/iptvmem/iptvmem/trace/iptvmem_mman_29092.trc:    ORA-27103: internal error    Linux-x86_64 Error: 17: File exists     看查专家的处理办法,建创spfile文件然后在其中入加这样的参数:     *.memory_max_target=3200M    *.memory_target=1500M      但是如果你修改了前当的spfile文件,那你再次动启就会报错:      不能打开文件/opt/oracle/db/product/11.1.0/dbs/initiptvmem.ora;      而你看查前当的路径下,不存在该文件,当然会报这样的错。      为什么报这样的错呢?      你辑编过前当路径下的spfile文件,致使它不可用,动启时就会找认默的init$SID.ora文件。         处理的路思如下:数据库用pfile动启      1.如何到得pfile                从/opt/oracle/db/admin/iptvmem/pfile路径下获得pfile文件复制到/opt/oracle/db/product/11.1.0/dbs路径下         文件名重新定义为init$SID.ora           #cp /opt/oracle/db/admin/iptvmem/pfile/*.ora /opt/oracle/db/product/11.1.0/dbs/initipevmem.ora          2.动启数据库          #sqlplus / as sysdba          动启数据库         #startup pfile='/opt/oracle/db/product/11.1.0/dbs/initipevmem.ora'            3.备份initiptvmem.ora文件                        #cp initipevmem.ora initipevmem.ora.cxm      4.在initipevmem.ora中新增:            *.memory_max_target=3200M            *.memory_target=1500M            查检一下文件中否是存在memory_target的配置,如果有配置,将本来的删掉。          动启数据库:        #startup pfile='/opt/oracle/db/product/11.1.0/dbs/initipevmem.ora'         自此题问应当处理。

文章结束给大家分享下程序员的一些笑话语录