一、项目需求:
目前数据库控制文件只有一个,希望增加至两个以上。
SQL> select * from v$controlfile;
STATUS
-------
NAME
--------------------------------------------------------------------------------
IS_ BLOCK_SIZE FILE_SIZE_BLKS
--- ---------- --------------
/ora_data/pwspdb/control01.ctl
NO 16384 594
二、实施步骤:
增减控制文件步骤:
1、修改参数文件;
2、停止数据库;
3、复制控制文件;
4、启动数据库(先进行挂载再进行启动);
5、验证,查看数据字典v$controlfile
2.1修改二进制参数文件spfile中control_files选项:
SQL> alter system set control_files=
2 '/ora_data/pwspdb/control01.ctl',
3 '/ora_flash/pwspdb/control02.ctl'
4 scope=spfile;
System altered.
2.2验证参数文件已经被修改:
SQL> select value from v$spparameter where name='control_files';
VALUE
--------------------------------------------------------------------------------
/ora_data/pwspdb/control01.ctl
/ora_flash/pwspdb/control02.ctl
2.3验证内存中的控制文件个数仍然为1个:
SQL> select * from v$controlfile;
STATUS
-------
NAME
--------------------------------------------------------------------------------
IS_ BLOCK_SIZE FILE_SIZE_BLKS
--- ---------- --------------
/ora_data/pwspdb/control01.ctl
NO 16384 594
2.4把control01.ctl控制文件复制一份到上面指定的路径(名称也需要改为上面设置的名称):
SQL> host cp /ora_data/pwspdb/control01.ctl /ora_flash/pwspdb/control02.ctl
2.5控制文件复制完成后,进行先挂载数据库再启动数据库:
SQL> alter database mount;
Database altered.
SQL> alter database open;
Database altered.
2.6验证(通过下面测试验证控制文件已经添加成功):
SQL> select value from v$spparameter where name='control_files';
VALUE
--------------------------------------------------------------------------------
/ora_data/pwspdb/control01.ctl
/ora_flash/pwspdb/control02.ctl
SQL> select * from v$controlfile;
STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- -------------------------------------------------- --- ---------- --------------
/ora_data/pwspdb/control01.ctl NO 16384 594
/ora_flash/pwspdb/control02.ctl NO 16384 594
网友评论