#控制文件管理

控制文件默认有3份拷贝(最多8份),具体个数和控制文件路径可以在配置参数文件中指定。

Note

本文以单机部署为例,不同部署形态的$YASDB_DATA路径不同,具体请以实际返回结果为准,并按需修改为实际的控制文件路径。

# 查看控制文件

1.SQL命令查看:

show parameter CONTROL_FILES;

NAME              VALUE                                                            
----------------- ---------------------------------------------------------------- 
CONTROL_FILES     ('/data/yashan/yasdb_data/db-1-1/dbfiles/ctrl1', '/data/yashan/yasdb_data/db-1-1/dbfiles/ctrl2', '/data/yashan/yasdb_data/db-1-1/dbfiles/ctrl3')
Copied!

2.动态视图查看:(在数据库在mount或open状态执行)

SELECT ID,NAME,BLOCK_SIZE,FILE_SIZE_BLKS,BYTES FROM V$CONTROLFILE;
  ID NAME                                                BLOCK_SIZE FILE_SIZE_BLKS       BYTES
---- ------------------------------------------------- ------------ -------------- -----------
   0 /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl1            8192           3507    28729344
   1 /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl2            8192           3507    28729344
   2 /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl3            8192           3507    28729344
Copied!

# 修改控制文件路径

修改数据库的控制文件路径至不同的路径,可以提高控制文件的安全性,示例步骤如下:

1.修改控制文件参数:

ALTER SYSTEM SET control_files=('/data/yashan/yasdb_data/db-1-1/dbfiles/ctrl1','/data/yashan/yasdb_data/db-1-1/dbfiles/ctrl2','/data/yashan/yasdb_data/db-1-1/backup/ctrl3') scope=spfile;
Copied!

2.关闭数据库:

SHUTDOWN IMMEDIATE;
Copied!

3.移动ctrl3控制文件:

$ mv /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl3 /data/yashan/yasdb_data/db-1-1/backup/ctrl3
Copied!

4.文件系统层检查确认ctrl3控制文件:

ls -l /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl1
ls -l /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl2
ls -l /data/yashan/yasdb_data/db-1-1/backup/ctrl3
Copied!

5.启动数据库:

$ yasboot cluster start -c yashandb
Copied!

如果数据库启动成功并没有报错,则修改控制文件路径成功。

6.数据库启动后,yasql登录到数据库检查确认ctrl3控制文件(数据库在mount或open状态执行):

SELECT ID,NAME,BLOCK_SIZE,FILE_SIZE_BLKS,BYTES FROM V$CONTROLFILE;
  ID NAME                                                BLOCK_SIZE FILE_SIZE_BLKS       BYTES
---- ------------------------------------------------- ------------ -------------- -----------
   0 /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl1            8192           3507    28729344
   1 /data/yashan/yasdb_data/db-1-1/dbfiles/ctrl2            8192           3507    28729344
   2 /data/yashan/yasdb_data/db-1-1/backup/ctrl3             8192           3507    28729344
Copied!

Warn

若要移动控制文件至其他路径,必须先手动修改控制文件路径,在移动对应控制文件至目标位置。

不可在生产环境正常执行状态下单独移动控制文件至其他位置。

pdf-btn 下载文档
copy-btn 复制链接