问几个问题.

[复制链接]
查看11 | 回复7 | 2005-10-19 01:02:13 | 显示全部楼层 |阅读模式
1 什么叫做ABNORMALLY DISCONNECTED FROM THE INSTANCE?
因为我试着在LINUX下打开个TERMINAL,启动了SQLPLUS.接着UPDATE了一行.在关了TERMINAL.没关SQLPLUS
直接关TERMINAL..竟然发现这行被COMMIT.现这类的ABNORMALLY DISCONNECT,为何没被ROLLBACK.而被COMMIT?
SEESION的哪些情况自动ROLLBACK,哪些情况自动COMMIT?
2 怎么样看到在RECYCLE BIN中的TABLE?

3 DDL,DML语句和UNDO和TRIGGER的关系?
DDL一定不产生UNDO么? DDL一定不触发TRIGGER么?

4 高水位的原理? 它与读写操作的关系?

5 trunk 产生REDO LOG么?

6 DATABASE的所有操作都是以TRANSACTION为基本单位的么?
我直的是内部和外部机制.

7 CHECKPOINT的频率和LOGWIRTER的频率各是?

8ONLINE REDO LOG FILE怎么保证100%是段电时DATABASE的状态呢?
REDO LOG FILE是LGWR 3秒写一次/DBWR前写/COMMIT写/1/3满写/
当一个TRANSACTION修改了内存的数据,还没COMMIT.也还没达到前面
的4个条件时.修改只是在内存中.这时候掉电了? 用ONLINE REDO LOG
FILE恢复不到这个状态,我哪理解错了?

谢谢各位朋友.
回复

使用道具 举报

千问 | 2005-10-19 01:02:13 | 显示全部楼层
9 ONLINE REDO LOG最大的SCN一定和CONTROL FILE的最大的一定一致么?
回复

使用道具 举报

千问 | 2005-10-19 01:02:13 | 显示全部楼层
10 checkpoint时.DBWR写的一定COMMITTED的TRANSACTION么? UNCOMMITTED在ONLINE REDO LOG中的TRANSACTION中的相关不写?
回复

使用道具 举报

千问 | 2005-10-19 01:02:13 | 显示全部楼层
1.你直接kill掉sqlplus那个进程那肯定不会自动提交了,如果autocommit off的情况下。
我估计关闭terminal会自动exit,所以会自动提交。DDL前的语句都会被自动提交,用exit命令退出sqlplus前面的dml都会自动提交。
2. show recyclebin;
3. ddl, dml和undo联系很紧密,数据更新的前映像都会写进undo,为了保证读一致,当然ddl大多数是修改数据字典。有ddl trigger.
4.想一想水坝的原理,历史达到的最高水位线。当然高水位下的数据块未必都有数据,因为删除数据并不会降低高水位。对表进行全表扫描的时候,高水位下的数据库都会被扫描到。插入数据的时候可能会插入到高水位下的数据块,也可能是高水位上的数据块,如果是append方式插入则只插入高水位上的数据块.
5. redo log都会产生的,redo log就是为了记录数据库的变化。你应该看看truncate和delete的区别。
6. 太深奥,不知道
7. lgwr的工作条件看你的第8个问题,ckpt每3s会同步控制文件和数据文件块头。
8. online redo log不能保证100%是断电时数据库的状态,因为log buffer中的内容是不会被写入的。这时候数据就应该丢了。
9. 应该是不一定,因为都不是同一个进程来写的,更为精细的回答还要请大虾们来。
10. 不一定。uncommited的transaction也会写入online redo log.
11. 精华区有很多文章可以回答你的问题。
回复

使用道具 举报

千问 | 2005-10-19 01:02:13 | 显示全部楼层
6 DATABASE的所有操作都是以TRANSACTION为基本单位的么?
我直的是内部和外部机制.
控制文件中有部分不是,但是这部分的数据有备份的. 相当于有undo ^_^.
回复

使用道具 举报

千问 | 2005-10-19 01:02:13 | 显示全部楼层
最初由 teddyboy 发布
[B]1.你直接kill掉sqlplus那个进程那肯定不会自动提交了,如果autocommit off的情况下。
我估计关闭terminal会自动exit,所以会自动提交。DDL前的语句都会被自动提交,用exit命令退出sqlplus前面的dml都会自动提交。
2. show recyclebin;
3. ddl, dml和undo联系很紧密,数据更新的前映像都会写进undo,为了保证读一致,当然ddl大多数是修改数据字典。有ddl trigger.
4.想一想水坝的原理,历史达到的最高水位线。当然高水位下的数据块未必都有数据,因为删除数据并不会降低高水位。对表进行全表扫描的时候,高水位下的数据库都会被扫描到。插入数据的时候可能会插入到高水位下的数据块,也可能是高水位上的数据块,如果是append方式插入则只插入高水位上的数据块.
5. redo log都会产生的,redo log就是为了记录数据库的变化。你应该看看truncate和delete的区别。
6. 太深奥,不知道
7. lgwr的工作条件看你的第8个问题,ckpt每3s会同步控制文件和数据文件块头。
8. online redo log不能保证100%是断电时数据库的状态,因为log buffer中的内容是不会被写入的。这时候数据就应该丢了。
9. 应该是不一定,因为都不是同一个进程来写的,更为精细的回答还要请大虾们来。
10. 不一定。uncommited的transaction也会写入online redo log.
11. 精华区有很多文章可以回答你的问题。 [/B]


谢谢您..我尝试着按我的问题.去精华里找答案..谢谢您..我看我找的到么? 找不到在来象您求教..谢谢您..
回复

使用道具 举报

千问 | 2005-10-19 01:02:13 | 显示全部楼层
最初由 jametong 发布
[B]6 DATABASE的所有操作都是以TRANSACTION为基本单位的么?
我直的是内部和外部机制.
控制文件中有部分不是,但是这部分的数据有备份的. 相当于有undo ^_^. [/B]

谢谢.
回复

使用道具 举报

千问 | 2005-10-19 01:02:13 | 显示全部楼层
关于2. show recyclebin;的一个疑问

DBA1有SYSDBA的权限
没以SYSDBA登陆
DROP TABLE INVENTORY.TEST

SHOW RECYCLEBIN

竟然是空?

怎么查看RECYCLEBIN中的INVENTORY的TEST表?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行