Oracle 中关于database的read only状态和read write状态下普通用

当为了防止用户进程修改Oracle数据库中的数据时,可以将数据库的状态置为只读,sql语句如下:

startup mount
alter database open read only;

【注意:alter database *** 命令需要在database为mount状态下才行,如果数据库已启动,先要shutdown】

之后执行如下操作登入scott / tiger 用户

sqlplus /nolog    --cmd下执行
conn scott/tiger; --连接scott账户

执行delete操作时会出现如下效果【这里以dept表为例,与执行下面的emp表作用是一样的,给自己说明一下】:

Oracle 中关于database的read only状态和read write状态下普通用

 

而当修改database状态为 read write时

Oracle 中关于database的read only状态和read write状态下普通用

再次执行上述delete操作,结果如下

Oracle 中关于database的read only状态和read write状态下普通用

【PS: 由于重启了数据库实例,所以之前的会话结束,需要disconnect之后重新登入scott账户。。

当我delete数据完成之后,不加commit操作应该不会写入数据库的,但是数据缓冲区的数据已经被delete掉,这就是脏数据】

相关推荐