数据库常见报错
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、ORA-01650:unable to extend rollback segment NAME by NUM in tablespace NAME
或者
ORA-01652:unable to extend temp segment by num in tablespace name
原因分析:
上述ORACLE错误为回滚段表空间不足引起的,这也是ORACLE数据管理员最常见的ORACLE错误信息。当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。
解决方案:
扩容回滚表空间
ALTER TABLESPACE UNDOTBS ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF' SIZE 100M;
2、ORA-01536: space quota exceeded for tablespace
原因分析:
该报错是用户使用某表空间配额不足引起的。 可以给该用户分配足够的配额或者不限制
解决方案:
ALTER USER TEST QUOTA UNLIMITED ON TEST;
3、ORA-03113:end-of-file on communication channel ---通信道结束
原因分析:
通讯不正常结束,从而导致通讯通道终止
解决方案:
(1) 检查是否有服进程不正常死机,可从alert.log得知
(2) 检查sql*Net Driver是否连接到ORACLE可执行程序
(3) 检查服务器网络是否正常,如网络不通或不稳定等
(4) 检查同一个网上是否有两个同样名字的节点
(5) 检查同一个网上是否有重复的IP地址
4、ORA-04031: unable to allocate 29900 bytes of shared memory ("shared pool","DBMS_STATS","PL/SQL MPCODE","BAMIMA: Bam Buffer")
原因分析:
该错误是由于共享缓冲区不足引起。
select sum(bytes/1024/1024) from v$sgastat where name = 'free memory' and pool ='shared pool'; ---用该sql可以查询共享池剩余内存
解决方案:
调大共享池大小:
alter system set sga_max_size=4096M scope=spfile;
5、ORA-00257: 归档程序错误。在释放之前仅限于内部连接
原因分析:
该错误是由于归档空间满导致。
解决方案:
(1)先手动删除归档日志文件,在用rman将归档日志文件从数据库删除:
rman target/
crosscheck archivelog all;
delete expired archivelog all;
6、ORA-12514 监听程序当前无法识别连接描述符中的服务
原因分析:
(1)有可能是数据库已被关闭了
(2)服务名有误
(3)数据库IP有误
解决方案:
(1)检查数据库服务是否已经启动
(2)客户端tnsping网络服务名的状态
7、启动数据库的时候,报错:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/product/11.1.0/dbs/initorcl.ora'
原因分析:
数据库初始化参数文件参数设置出错导致
解决方案:
将$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.012009233838形式的文件copy 到$ORACLE_HOME/dbs目录下,然后将init.ora.012009233838文件名改为
initoracle.ora即可。注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)
8、客户端连接
数据库集群rac时报错:
(1) ORA-12545:因目标主机或对象不存在解决方法
(2) 或者在weblogic数据源CTDataSource,连接url采用集群连接方式(数据库为集群):
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=yes)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=10.150.0.211)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.150.0.212)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=lcamdb)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(DELAY=15))))
该情况通常也会出现数据源CTDataSource无法加载的相关报错,导致应用服务无法启来。
解决:
windows: 修改本地的C:\WINDOWS\system32\drivers\etc\hosts文件,
linux/unix: 修改/etc/hosts文件,
然后添加RAC数据库各节点服务器的主机名,如下:
10.10.39.1 rac1
10.10.39.2 rac2