控制文件默认有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

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

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


YashanDB
1 声望0 粉丝

崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的...