FAQ of oracle 2

1.1.1     ORA-27123: unable to attach to shared memory segment错误的处理方法

 

SQL> startup pfile='/home/oracle/app/oracle/admin/pindb/pfile/init.ora.1121201017025'

ORA-27123: unable to attach to shared memory segment

IBM AIX RISC System/6000 Error: 22: Invalid argument

Additional information: 7

Additional information: 63963136

 

经过检查分析在AIX 6.1env |grep TZ,有人修改了时区,将时区修改为东八1区,之前有人修改为chongqing。修改后重新启动问题解决。

 

 

1.1.2     ORA-00119: invalid specification for system parameter LOCAL_LISTENER

 

 

SQL> startup

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

ORA-00132: syntax error or unresolved network name 'LISTENER_KPNITEST'

SQL>

 

spfile文件中不知怎么搞的,有很多的乱码,删除之后把spfilepfile中的这一行中的*.local_listener='KPNITEST'值修改成KPNITEST就可以启动数据库了。

也可以把tnsnames.ora中的KPNITEST修改成LISTENER_KPNITEST就可以了。

LISTENER_KPNITEST =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = p5570alpar3)(PORT = 1522))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = kpnitest)

    )

  )

 

 

1.1.3     ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME

 

添加红色部分问题解决

/opt/oracle/product/11.1.0/db_1/network/admin/ listener.ora

[vca177]/opt/oracle/product/11.1.0/db_1/network/admin>more listener.ora

# listener.ora Network Configuration File: /opt/oracle/product/11.1.0/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = vca177)(PORT = 1521))

    )

  )

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = ora177)

      (SID_NAME = ora177)

      (ORACLE_HOME = /opt/oracle/product/11.1.0/db_1)

    )

  (SID_DESC =

      (GLOBAL_DBNAME = tibdb)

      (SID_NAME = tibdb)

      (ORACLE_HOME = /opt/oracle/product/11.1.0/db_1)

    )

  )

 

需要重启监听服务。

 

1.1.4     AIX机器无法安装oracle

 

错误提示信息如下:

监听无法启动,一启动就会产生core文件

 

Unhandled exception

Type=Segmentation error vmState=0x00040000

J9Generic_Signal_Number=00000004 Signal_Number=0000000b Error_Value=00000000 Sig

nal_Code=00000033

Handler1=09001000A131EC78 Handler2=09001000A1316538

R0=0000000000000000 R1=0FFFFFFFFFFFB980 R2=09001000A1776AE8 R3=0000000000000000

R4=00000001103BC253 R5=000000000000000B R6=FFFFFFFFFFFFFFFF R7=000000000000006C

R8=0000000000000069 R9=0000000000000062 R10=000000000000006F R11=000000000000000

0

R12=09001000A0066E80 R13=000000011000E800 R14=0000000110306230 R15=0000000110165

800

R16=0000000000000007 R17=0000000000000000 R18=09001000A13223B0 R19=0000000000000

000

 

根据提示初步怀疑是操作系统位数问题,经过检查操作系统位数是正确的,但是hostname和配置文件中的不一致;经过修改,重启机器,hostname问题解决;但是重新安装问题依然没有解决,重新分析后,感觉是资源分配的问题,重新划分资源后,再次安装问题解决;

 

 

 

1.1.5     DBCA建库过程报错ora-01092

使用DBCA图形界面建库,在最后一个步骤的滚动条界面报错ora-01092,建库终止。

ORA-01092:ORACLE instance termiated
Disconnection forced

$oerr ORA 1092
01092, 00000, "ORACLE instance terminated. Disconnection forced"
// *Cause:  The instance this process was connected to was terminated
//          abnormally, probably via a shutdown abort. This process
//          was forced to disconnect from the instance.
ORA-01092
说明ORACLE实例由于某种原因被异常终止

 

ORA-01092并不能准确的告诉我们具体的故障原因,但是ORACLE在建库过程中必然会写alert日志,查看alert日志
......
Lost write protection disabled
Errors in file /home/oracle/oradb/diag/rdbms/inomc/inomc/trace/inomc_ora_31796.trc:
ORA-01501: CREATE DATABASE failed
ORA-00336: log file size 200 blocks is less than minimum 8192 blocks
Error 336 happened during database creation, shutting down database
USER (ospid: 31796): terminating the instance due to error 336
Instance terminated by USER, pid = 31796
ORA-1092 signalled during: CREATE DATABASE "inomc"
......
GROUP 2 ('/home/oracle/oradb/oradata/inomc/redo02.log') SIZE 51200K,
GROUP 3 ('/home/oracle/oradb/oradata/inomc/redo03.log') SIZE 51200K,
GROUP 4 ('/home/oracle/oradb/oradata/inomc/redo04.log') SIZE 100K,
GROUP 5 ('/home/oracle/oradb/oradata/inomc/redo05.log') SIZE 100M,
......
不难发现,导致建库失败的具体错误是:
ORA-01501: CREATE DATABASE failed
ORA-00336: log file size 200 blocks is less than minimum 8192 blocks
也就是说logfile文件的大小比oracle限定的最小值要小。
GROUP 4 ('/home/oracle/oradb/oradata/inomc/redo04.log') SIZE 100K,
至此,问题已定位。

 

 

1.1.6     ORA-00600 internal error code 4193

Oracle数据库异常down机。

Thu May 14 12:26:29 2009
Errors in file /opt/oracle/admin/ora92/bdump/ora92_smon_26209.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4193], [5780], [2640], [], [], [], [], []
Thu May 14 12:26:29 2009
Errors in file /opt/oracle/admin/ora92/udump/ora92_ora_26287.trc:
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4193], [2669], [2675], [], [], [], [], []
Error 607 happened during db open, shutting down database
USER: terminating instance due to error 607

 

从日志分析4193错误属于oracle内部错误码,redoundo不一致所导致。

通过工具发现存储出现损坏,需要修复,首先需要将oracle数据库强行拉起恢复业务,再将数据export出来,待新的数据库创建完成后,再将数据import.通过加入隐含参数启动数据库,如下
_CORRUPTED_ROLLBACK_SEGMENTS=(_SYSSMU1$, _SYSSMU2$, _SYSSMU3$, _SYSSMU4$, _SYSSMU5$, _SYSSMU6$, _SYSSMU7$, _SYSSMU8$, _SYSSMU9$, _SYSSMU10$);
undo_management='MANUAL
 1 SQL>startup pfile
强行启动数据库
 2 增加回滚段表空间
  SQL>create undo UNDOTBS2 datafile '路径' size 1000M;
  3 
更换表空间
   SQL>alter system set undo_tablespace=UNDOTBS2 
  4 
删除原来的UNDOTBS1
   drop tablespace UNDOTBS1 including contents and datafiles;
  5 SQL>shutdown immediate'
  6 
重启数据库
  startup
  
目前数据库已恢复,安全起见需将数据export出来。

 

1.1.7     数据库重新建实例报错ORA-00178

oracle9.2.0.8数据库双机重新建实例过程中,系统报错,无法进行安装。

 : invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 
LISTENER_ORA92
ORA-00178: 处理系统参数失败。
      

由于模板数据库中错误的配置了初始化参数造成。

这个bug的解决方法有很多种:
不要使用dbca建库,而是利用dbca生成建库脚本,然后利用将脚本进行修改,然后通过脚本来建立数据库。
如果想要用dbca来完成建库操作,那么也可以通过在dbca中重新设置LOCAL_LISTENER初始化参数的方法。

 

 

1.1.8     修改SYS权限导致出现ora-00604ora-06553错误

修改数据库sys权限后发现普通用户执行select操作等出现错误:
ora-00604:递归SQL1出现错误
ora-06553:pls-213:standard包不可访问
里面所有对象显示都是invalid

 

ora-00604:递归SQL1出现错误
ora-06553:pls-213:standard包不可访问

修改sys权限后导致standard包失效。

 

1sqlplus /'as sysdba'
2
> @/$ORACLE_HOME/rdbms/admin/catalog.sql
3
>@/$ORACLE_HOME//rdbms/admin/catproc.sql
重建数据字典。

 

1、切勿随意修改sys权限。
2、重建数据字典勿用第三方插件。
3、重建数据字典的语句中输入完成的oracle家目录路径。

 

 

1.1.9     错误ORA-01999 password file cannot be updated in SHARED mode

 

数据库为oracle10,平台为sun,在授予xx用户为超级用户权限时,出现ORA-01999错误,具体如下:ORA-01999 password file cannot be updated in SHARED mode

这是因为初始化参数REMOTE_LOGIN_PASSWORDFILE被设置成为了SHARED所造成的,REMOTE_LOGIN_PASSWORDFILE被设置成SHARED表示共享的口令文件。在共享的口令文件中是不能够增加超级用户的。

1、进入初始化参数文件目录,修改参数文件中的参数REMOTE_LOGIN_PASSWORDFILEEXCLUSIVE
2、关闭数据库。
3、重新建SPFILE
4、重启数据库,这里将用新建的SPFILE启动数据库。
5、再次执行“GRANT SYSDBA TO..."命令,执行成功。

 

1.1.10  cluster_database参数不当导致ORA-01102报错

ORA-01102: cannot mount database in EXCLUSIVE mode.

 

无法用独占模式mount数据库,意味着RAC两个节点可能存在某些资源冲突。检查数据库节点一参数,未发现异常。检查数据库节点二参数,其中cluster_database='FALSE'。相比而言数据库节点一的cluster_database='TRUE'。怀疑是节点二cluster_database不当所导致报错。

将参数修改为cluster_database='TRUE'
重新执行startup,数据库正常启动.

 

1.1.11  建实例数据库报ORA-00603错误

AIX5.3.0.4上装ORACLE9.2.0.7 RAC时必须调整AIX的部分内核参数

多次建实例时都失败,最后与ORACLE支持工程师联系得知必须用以下命令调整AIX内核参数:
no -p -o rfc1323=1
no -p -o tcp_recvspace=262144
no -p -o tcp_sendspace=1048576 
no -p -o udp_sendspace=1048576 
no -p -o udp_recvspace=1048576
设置完后可以用no -a查看设置的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值