日期:2014-05-16  浏览次数:20386 次

将ORACLE数据库设置为只读

有一份通过磁盘镜像得到的生产环境数据库镜像A。A目前是这样用的,在每次镜像完成后,执行
sqlplus ?“/ as sysdba”;
startup pfile=’/home/oracle/initrdb1.ora’;
alter user kernel identified by kernel;

后将数据镜像提供给不同业务系统读取使用。
现在想将此数据镜像提供给不同业务系统共享使用,但每个业务系统均采用只读的方式访问数据库,请问有什么实现办法?
下面的命令会把数据库置为只读状态,就可以了

sqlplus “/ as sysdba”;

startup pfile=’/home/oracle/initrdb1.ora’;

alter user kernel identified by kernel;

shutdown immediate

startup pfile=’/home/oracle/initrdb1.ora’ mount;

alter database open read only

?

?

(b-14231 第126页)

启动数据库到mount状态

ora_test@oracle[/home/oracle]> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Mar 7 17:27:26 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

idle> startup mount;
ORACLE instance started.

Total System Global Area 209715200 bytes
Fixed Size 1218532 bytes
Variable Size 113248284 bytes
Database Buffers 88080384 bytes
Redo Buffers 7168000 bytes
Database mounted.


启动数据库到只读模式

idle> alter database open read only;

Database altered.

idle> select open_mode from v$database;

OPEN_MODE
----------
READ ONLY

idle>

--end--