`

Oracle使用问题记录

阅读更多
记录oracle使用中遇到的问题:

命令行cmd,输入sqlplus没有反应

oracle 安装有问题,或者path 环境变量有问题。

Oracle 接入 sqlplus "/as sysdba"

查看数据库字符集 SELECT * FROM NLS_DATABASE_PARAMETERS where PARAMETER='NLS_CHARACTERSET'
修改数据库字符集
alter database character set internal_use ZHS16GBK ;

Oracle系统做过双机备份后起不来。
Oracle startup 错误:
ORACLE instance started.

lsnrctl 查看数据库监听 status

Total System Global Area 8589934592 bytes
Fixed Size                  2086552 bytes
Variable Size            1358956904 bytes
Database Buffers         7214202880 bytes
Redo Buffers               14688256 bytes
Database mounted.
     ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
     ORA-01110: data file 1: '/dev/rlv_sys_10g_01'
后来发现是IBM磁盘卷出现问题,导致数据库的文件找不到了。
ORA-01157 的错误一般为数据库文件错误,或者找不到了。
解决问题的步骤如下(AIX):
    cd /usr/sbin/cluster
    ./clstat  检测cluster的状态 返回正常
    lsvg -o 查看AIX的分卷命令
    lsvg vpnvg1 查看某个分卷
     0516-1201 lsvg: Warning: Volume group vpnvg1 is locked. This command will continue retries until lock is free.  If lock is inadvertent and needs to be removed, execute 'chvg -u vpnvg1'.
     表示分卷已经被损坏了。


ORA-01102 cannot mount database in EXCLUSIVE mode
   解决方法:
1.如果是HA系统,检查其他节点是否已经启动实例;
2.检查 oracle 进程是否存在,如果存在则杀掉进程;
3.检查信号量是否存在,如果存在,则清除信号量;
4.检查共享内存段是否存在,如果存在,则清除共享内存段;
5.检查锁内存文件lk<sid>和sgadef<sid>.dbf是否存在,如果存在,则删除。
     http://www.hellodba.com/cases/case-unexception_down.htm
http://www.dbifan.com/200704/ora-01102-cannot-mount-database-in-exclusive-mode.html


死锁
    检测语句
    select * from v$lock ,dba_objects,v$session  where      object_id=v$lock.id1  and  v$lock.sid=v$session.sid
     杀掉被锁住的SID即可。
查询有没有死锁
SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,
l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS
FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;

杀死死锁的进程
alter system kill session '49,11989';
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics