您的位置:首页 > 其它

管理进程和会话

2005-04-07 08:10 302 查看
/* 管理服务器操作模式 */
默认情况下,除了OLTP类型的数据库外,DBCA创建的数据库都是使用专用服务器操作模式
确定数据库当前的操作模式:
SQL> select server
2 from v$session
3 where audsid=userenv('SESSIONID');
SERVER
------------------
DEDICATED
/* 监视进程状态 */
每个服务进程和后台进程都具有一个对应的跟踪文件.
警告文件的名称通常是<SID>Alert.LOG.它是一个特殊的跟踪文件,记录了数据库中DBA级别的管理操作以及实例内部的错误信息,包括:
* 所有发生过的内部错误(ORA-600),块损坏错误(ORA-1578),死锁错误(ORA-60)
* 所有执行过的DBA操作(CREATE,ALTER,DROP,STARTUP,SHUTDOWN等语句)
* 与共享服务进程和调度进程相关的信息和错误信息
* 数据库和实例启动时说使用的初始化参数设置
跟踪文件和警告文件的存储位置由如下两个初始化参数指定:
BACKGROUND_DUMP_DEST:后台进程的跟踪文件和警告文件的位置,默认为ORACLE_BASE/admin/bdump
USER_DUMP_DEST:服务进程的跟踪文件的位置,默认为ORACLE_BASE/admin/udump
/* 管理用户会话 */
当一个会话被中止时,会话中的尚未提交的事务被回退.
SID:会话系统标识
SERIAL#:会话序列标识
通过会话系统标识和会话序列标识可以唯一确定实例中的一个会话,ORACLE也能区分同一个用户的两次连接.
查看会话:
SQL> select sid,serial#,username,osuser,status
2 from v$session
3 where osuser='keke';
SID SERIAL# USERNAME OSUSER STATUS
---------- ---------- ------------------------------------------
113 12291 BSP keke INACTIVE
199 26450 BSP keke INACTIVE

中止会话:
SQL> alter system kill session '113,12291';
/* 管理事务 */
事务是一项工作中的一个逻辑单元,包含一条或多条SQL语句,是不可分割的最小单元.
当发生如下情况时,ORACLE认为一个事务结束:
* 用户执行COMMIT或ROLLBACK语句
* 用户执行了一条DDL语句
* 用户主动断开到ORACLE的连接,这时用户当前的事务被自动提交
* 用户进程意外中止,这时用户当前的事务将自动回退
事务提交时ORACLE完成的操作:
* 在为该事务指定的回退段中的内部事务表内记录下这个事务已被提交,并且生成一个唯一的系统变更码(SCN)记录在内部事务中,用于唯一标识这个事务
* LGWR将重做日志缓存中的重做记录写入联机重做日志文件,写入重做日志的同时还将写入该事务的SCN
* ORACLE服务进程释放事务所使用的所有记录锁与表锁
* ORACLE通知用户事务提交成功
* ORACLE将该事务标记为完成
回退整个事务的步骤:
* ORACLE通过使用回退段中的回退条目,撤销事务中所有SQL语句对数据库进行的修改
* ORACLE服务进程释放事务使用的所有锁
* ORACLE通知用户事务回退成功
* ORACLE将该事务标记为完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: