Oracle相关问题记录

目录

1.ORA-00257:archiver error

1.1切换用户

1.2登录oracle并以DBA身份连接

1.3查看归档目录使用情况

1.4进入rman并连接目标DB

1.5检查无效的归档日志

1.6删除归档日志

       1.6.1单例模式

       1.6.2RAC模式

1.7查看删除效果

2.ORA-8001: the password has expired

2.1切换用户

2.2登录oracle

2.3以dba身份连接

2.4查询密码过期时间

2.5设置密码永久生效

3.ORA-01502: 索引或这类索引的分区处于不可用状态


1.ORA-00257:archiver error

归档日志满了

1.1切换用户

su - oracle

1.2登录oracle并以DBA身份连接

sqlplus / as sysdba

1.3查看归档目录使用情况

SQL>

SELECT * FROM  V$FLASH_RECOVERY_AREA_USAGE;

1.4进入rman并连接目标DB

退出sqlplus,执行rman命令

rman target cdr/cdr

1.5检查无效的归档日志

同步控制文件的信息和实际物理文件的信息,将无效的expired的archivelog标出来

rman>

crosscheck archivelog all;

1.6删除归档日志

       1.6.1单例模式

          删除一天之前的归档日志

rman>

delete archivelog until time 'sysdate-1';

       1.6.2RAC模式

              1.6.2.1普通删除

              不经过提示,直接删除过期或无效的归档日志

              noprompt 不经过提示

              expired 期满的

rman>

delete noprompt expired archivelog all;

情况一:

WARNING: archived log not deleted, needed for standby or upstream capture process

证明此时数据库还正在需要应用这些归档,可以采用强制删除

情况二:

specification does not match any archived log in the repository

证明rman没有找到expired(过期)的备份

              1.6.2.2强制删除

              参考文章:http://blog.itpub.net/628922/viewspace-1181651/

              不经过提示,并且强制删除归档日志

              删除指定日期前的日志

注:没有完成的归档日志也会被删掉!慎用

rman>

delete noprompt force archivelog until time 'sysdate-1';

              删除所有归档日志:

注:没有完成的归档日志也会被删掉!慎用

rman>

delete noprompt force archivelog all;

              删除所有已完成的日志:

注:推荐使用

rman>

delete noprompt force archivelog all completed before 'sysdate';

1.7查看删除效果

rman>

crosscheck archivelog all;

2.ORA-8001: the password has expired

密码过期

2.1切换用户

su - oracle

2.2登录oracle

sqlplus /nolog

2.3以dba身份连接

SQL>

conn / as sysdba

2.4查询密码过期时间

SQL>

select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';

语句查看密码的有效天数为180天

2.5设置密码永久生效

SQL>

alter profile default limit password_life_time unlimited;

3.ORA-01502: 索引或这类索引的分区处于不可用状态

若无数据可以清空表

truncate table tablename

4.oracle无法删除当前连接用户

4.1查讯session

select username,sid,serial# from v$session where username = 'MDM';

 

4.2结束session

拼接SQL,复制出来执行即可

select 'alter system kill session ''' || sid ||',' || serial#|| ''';'   from v$session where username = 'MDM'  and status = 'INACTIVE';

4.3查看是否结束全

select 'alter system kill session ''' || sid ||',' || serial#|| ''';'   from v$session where username = 'MDM'  and status = 'INACTIVE';

4.4删除用户及其对象

删除该用户下的所有东西

drop user mdm cascade;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值