控制文件默认有 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.关闭数据库:
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:
若要移动控制文件至其他路径,必须先手动修改控制文件路径,在移动对应控制文件至目标位置。
不可在生产环境正常执行状态下单独移动控制文件至其他位置。
评论