遇见的一些问题

一、ORA-01502:index 'SZSL.PK_CARD' or partition of such index is in unusable state。
提示索引 'SZSL.PK_CARD' 或这类索引的分区处于不可用状态 。
解决方法:
1,登录szsl用户,检查该索引状态:
select index_name,index_type,tablespace_name,table_type,status from user_indexes where index_name='PK_CARD';
发现该索引状态为UNUSABLE,不可用状态。
2,设置 “skip_unusable_indexes=false”,也就是不跳过失效索引

alter session set skip_unusable_indexes=false;

3,重建失效索引

alter index PK_CARD rebuild;

4,重新检查索引状态:

select index_name,index_type,tablespace_name,table_type,status from user_indexes where index_name='PK_CARD';

发现该索引状态变为VALID。

二、Active Session History (ASH) performed an emergency flush. This may mean that ASH is undersized. If emergency flushes are a recurring issue, you may consider increasing ASH size by setting the value of _ASH_SIZE to a sufficiently large value. Currently, ASH size is 25165824 bytes. Both ASH size and the total number of emergency flushes since instance startup can be monitored by running the following query:

 select total_size,awr_flush_emergency_count from v$ash_info;

解决方法:

1,SQL> select total_size,awr_flush_emergency_count from v$ash_info;

TOTAL_SIZE AWR_FLUSH_EMERGENCY_COUNT

---------- -------------------------

  25165824 4

2,SQL> select x.ksppinm name,y.ksppstvl value,y.ksppstdf isdefault,decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj from sys.x$ksppi x,sys.x$ksppcv y where x.inst_id = userenv('Instance') and y.inst_id = userenv('Instance') and x.indx = y.indx and x.ksppinm ='_ash_size' order by translate(x.ksppinm, ' _', ' ');

NAME

--------------------------------------------------------------------------------

VALUE

--------------------------------------------------------------------------------

ISDEFAULT ISMOD ISADJ

--------- ---------- -----

_ash_size

1048618

TRUE FALSE FALSE

3,增大_ash_size值

alter system set "_ash_size"=67108864;

三、FFatal NI connect error 12170.

  VERSION INFORMATION:

        TNS for Linux: Version 11.2.0.4.0 - Production

        Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production

        TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production

  Time: 20-6月 -2014 11:50:34

  Tracing not turned on.

  Tns error struct:

    ns main err code: 12535     

TNS-12535: TNS: 操作超时

    ns secondary err code: 12560

    nt main err code: 505     

TNS-00505: 操作超时

    nt secondary err code: 110

    nt OS err code: 0

  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.4.202)(PORT=56142))

为什么会出现这样的情况呢?网上搜索后得知,在Oracle11G中,

 有这样两个参数SQLNET.INBOUND_CONNECT_TIMEOUT 和INBOUND_CONNECT_TIMEOUT_listenername;他们的默认值为60s,

 这两个参数负责登陆用户与服务器验证的超时时间,在10GR2以前的版本默认是0s,为了防止Denial of Service (DOS)攻击,

 在以后的版本中才设置为60s。如果在登录过程中,服务器没有给出及时的响应,那么将会在60后给出错误提示,

 这个超时时间显然有点过长,导致用户重复登陆的频率加大,频繁的登录引起数据库负载过大。

解决方法:

LSNRCTL> show inbound_connect_timeout

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

LISTENER 参数 "inbound_connect_timeout" 设为 60

命令执行成功

LSNRCTL> set inbound_connect_timeout 0

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

LISTENER 参数 "inbound_connect_timeout" 设为 0

命令执行成功

LSNRCTL> show inbound_connect_timeout

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

LISTENER 参数 "inbound_connect_timeout" 设为 0

命令执行成功

LSNRCTL> set save_config_on_stop on   #指定在一个lsnrctl会话期内所发生的修改在退出时是否应该被保存起来,下次监听启动也是生效的  on 保存 off 不保存

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

LISTENER 参数 "save_config_on_stop" 设为 ON

命令执行成功

LSNRCTL> exit

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28912313/viewspace-1672351/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28912313/viewspace-1672351/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值