oracle-ORA-27102错误

 out of memory HP-UX Error: 12: Not enough space           

ORA-30019: Illegal rollback Segment operation in Automatic Undo mode

ORA-30036: unable to extend segment by 1024 in undo tablespace 'UNDOTBS1'

TNS-12500

 

....系统资源耗竭,意味着系统分配给oracle的内存用尽了。虽然我们有4G的物理内存,但正常情况下系统只能给oracle分配2G的内存,这2G的内存中,包括了SGA、PGA等oracle需要使用的全部内存。在独占模式下,每一个session将单独分配2M左右的内存。在本例中,SGA分配了约600M,按每一个用户分配2M内存计算,连接数达到750个时,总分配内存已达到2G,将不能再增加新的连接数。如果要解决这个问题,在不做大的调整的前提下,要么减小SGA大小,要么减小为每一个会话分配的内存大小,以能连接更多的用户。

解决过程:

1 重置init.ora参数文件,调小以下四个参数的值:

....short_area_size
....hash_area_size
....bitmap_merge_area_size
....create_bitmap_area_seze
....open_cursone

2 调小SGA的大小

3 减小oracle Job队列数量(job_queue_processes)和并发队列数(parallel_max_servers)

4 重置并减小会话/线程使用的堆栈大小

5 将oracle改为mts模式

6 使用intel的ESMA硬件支持,即使用大内存

..1) 在intel系统上使用 /3G 开关

..2) 使用PSE36内存

 

1  TNS-12154 Error 或ORA-12154

特征:SQL*NET没有找到连接串或别名

原因1:(1)没有找到TNSNAMES.ORA文件,该文件的缺省路径为:

Windows 95/98 client

SQL*Net 2.x - ORAWIN95NETWORKADMIN

Net8 - ORAWIN95NET80admin

Net8i - ORACLEORA81NETWORKADMIN

 

Windows NT client

 

SQL*Net 2.x - ORANTNETWORKADMIN

Net8 - ORANTNET80ADMIN

Net8i - ORACLEORA81NETWORKADMIN

 

 

UNIX Client

 

$ORACLE_HOME/NETWORK/ADMIN

or          /etc

or          /var/opt/oracle

 

 

 . 在客户端设置TNS_ADMIN 

 

 

在注册表 HKEY_LOCAL_MACHINESoftwareOracle 设置TNS_ADMIN.  TNS_ADMIN 指向TNSNAMES.ORA文件的位置

 

 

措施:按上述说明检查文件位置

 

 

 

原因2:(2)TNSNAMES.ORA文件中内容格式不对

 

 

措施:检查文件格式,标准格式如下:

 

 

DEV1.WORLD =

         (DESCRIPTION = (ADDRESS_LIST =

 

 

               (ADDRESS = (PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )

          (CONNECT_DATA = (SID = ORCL) ) )

 

 

原因3: (3) TNSNAMES.ORA与SQLNET.ORA不一致

 

 

措施: SQLNET.ORA格式如下:

 

 

TRACE_LEVEL_CLIENT = OFF

SQLNET.AUTHENTICATION_SERVICES = (NONE)

NAMES.DIRECTORY_PATH = (TNSNAMES)

AUTOMATIC_IPC = OFF

 

 

因为没有NAMES.DEFAULT_DOMAIN=world,所以DEV1.WORLD连接串不能连接,可以在TNSNAMES.ORA中增加

 

 

DEV1 =

         (DESCRIPTION = (ADDRESS_LIST =

 

 

               (ADDRESS = (PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )

          (CONNECT_DATA = (SID = ORCL) ) )

 

 

       此时可连接。

2       NL-00462 Error ORA-00462

 

 

特征:监听器无法启动

 

 

原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。

 

 

措施:重新编辑文件

 

 

3       NL-00405 Error ORA-00405

 

 

特征:LISTENER.ORA文件不可读或找不到

 

 

原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。

 

 

措施:确保文件位置在缺省目录下$ORACLE_HOME/network/admin,或设置环境变量TNS_ADMIN指向这个文件所在位置。

 

 

4       TNS-01155 Error ORA-01155

 

 

特征:LISTENER.ORA文件中SID_LIST_LISTENER变量赋值不对

 

 

原因:LISTENER.ORA文件内容错误,SID_LIST_LISTENER变量赋值不对。

 

 

措施:确保文件中赋值正确,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。

 

5       TNS-12537 TNS-12560TNS-00507 Error

 

 

特征:LISTENER.ORA文件中引用了一个无效的协议适配程序

 

 

原因:LISTENER.ORA文件中PROCOTOL变量赋值不对。

 

 

措施:确保文件中赋值正确,一般用TCP协议,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。用adapters tnslsnr检查协议程序

6       TNS-12203 Error

特征:不能与目标连接

原因:监听器是否启动;别名是否配置

措施:检查监听器是否启动,例如lsnrctl status;检查TNSNAMES.ORA的别名配置

7       TNS-12533 Error

特征:不能与目标连接

原因:非法的address参数,

措施:检查TNSNAMES.ORAADDRESS参数

1       ORA-12571ORA-03113ORA-03114ORA-01041

 

 

特征:客户端(代理或应用服务器)有时报这类断连错误

 

 

原因:如果偶尔出现一次,则可能为网络原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不一致。

 

 

措施:如果偶尔出现,可在服务端的协议配置文件PROTOCOL.ORA中增加一行

 

 

TCP.NODELAY=YES

 

 

如果经常出现,则为客户端与服务端字符集不一致或网络原因。

 

 

客户端的字符集在注册表里定义:        HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG

 

 

在客户端注册表中的TCP参数项中设置                                                                                   TCPMAXDATARETRANSMITIONS=20      

 

2       ORA-01000

 

 

特征:达到会话允许的最大游标数

 

 

原因:达到会话允许的最大游标数

 

 

措施:有两种解决方法:

 

 

1       在初始化文件INIT<SID>.ORA文件中增加OPEN_CURSORS的数量,一般要求大于200

 

 

2       在应用级,与开发工具有关,例如设置MAXOPEN_CURSORS等。

 

 

3       ORA-01545

 

 

特征:某个回滚段不可用

 

 

原因:(1)当使回滚段ONLINE时,但回滚段不可用,例如回滚段所在表空间OFFLINE;

 

 

     2当使回滚段ONLINE时,但回滚段已ONLINE,例如回滚段被使用两次,典型的案例如OPS方式时,回滚段不能公有;

 

 

     3)删除回滚段时,回滚段中有活动的事务;

 

 

措施:(1)确保回滚段可

 

 

2)从初始化文件INIT<SID>.ORA的参数ROLLBACK)SEGMENTS中删除指定的回滚段。

 

 

3       可以将回滚段所在表空间删除,取消UNDO事务

 

 

4       ORA-0165x

 

 

特征:表空间没有足够的空间供分配

 

 

原因:表空间已满;存储参数不合理,NEXT太小;没有连续的区间

 

 

措施:如果表空间已满,则需为表空间增加文件;如果存储参数不合理,则需增加INITIALNEXT;如果没有连续的区间,需要合并空闲的表空间。

 

 

      查看空间碎片用DBA_FREE_SPACE

 

 

5       ORA-01555

 

 

特征:当前会话无法读到以前版本的数据

 

 

原因:原因很多,主要原因有下列:回滚段太小、太少;回滚段冲突;交叉提交(FETCH_ACROSS)

 

 

措施:增加回滚段数量;

 

 

 

 

 

 

6       ORA-04031

 

 

特征:共享池内存区内存不够,或产生内存碎片

 

 

原因:当试图装载一个大包时或执行一个较大的存储过程时,而共享池没有连续的内存空间。

 

 

措施:如果是内存不够,则增加SHARE)POOL_SIZE

 

 

      如果是内存碎片,执行alter system flush share_pool

 

 

7       ORA-04091

 

 

特征:触发器工作不正常

 

 

原因:一个行触发读取或修改变化的表(正在修改、插入)时,产生这种错误。

 

 

措施:检查触发器脚本,保证引用完整性

 

 

8       ORA-01242ORA-01113

 

 

特征:介质故障导致数据库宕机

 

 

原因:介质故障。

 

 

措施:检查硬件故障;修改dbshut脚本,将其中的STARTUP命令修改为:

 

 

              Startup open recover

 

 

              Alter database open

 

上一篇:windows下,Oracle 11g 常见报错


下一篇:Oracle监听启动-ORA-12541: TNS: 无监听程序