oracle-ORA-27102错误
副标题[/!--empirenews.page--]
?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 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-12560、TNS-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.ORA的ADDRESS参数 1?????? ORA-12571、ORA-03113、ORA-03114、ORA-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太小;没有连续的区间 ? ? 措施:如果表空间已满,则需为表空间增加文件;如果存储参数不合理,则需增加INITIAL和NEXT;如果没有连续的区间,需要合并空闲的表空间。 ? ? ????? 查看空间碎片用DBA_FREE_SPACE ? ? 5?????? ORA-01555 ? ? 特征:当前会话无法读到以前版本的数据 ? ? 原因:原因很多,主要原因有下列:回滚段太小、太少;回滚段冲突;交叉提交(FETCH_ACROSS) ? ? 措施:增加回滚段数量; ? ? ? ? ? ? 6?????? ORA-04031 ? ? 特征:共享池内存区内存不够,或产生内存碎片 ? ? 原因:当试图装载一个大包时或执行一个较大的存储过程时,而共享池没有连续的内存空间。 ? ? 措施:如果是内存不够,则增加SHARE)POOL_SIZE; ? ? ????? 如果是内存碎片,执行alter system flush share_pool ? ? 7?????? ORA-04091 ? ? 特征:触发器工作不正常 ? ? 原因:一个行触发读取或修改变化的表(正在修改、插入)时,产生这种错误。 ? ? 措施:检查触发器脚本,保证引用完整性 ? ? 8?????? ORA-01242、ORA-01113 ? ? 特征:介质故障导致数据库宕机 ? ? 原因:介质故障。 ? ? 措施:检查硬件故障;修改dbshut脚本,将其中的STARTUP命令修改为: ? ? ????????????? Startup open recover ? ? (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |