GaussDB T 实践:如何通过命令转储控制文件
【摘要】 如同我在 Oracle 数据中描写的那样,控制文件同样是 GaussDB 的大脑,其中记录着数据库至关重要的文件、表空间、归档等信息。通过 dump ctrlfile 的命令可以转储控制文件的信息。
如同我在 Oracle 数据中描写的那样,控制文件同样是 GaussDB 的大脑,其中记录着数据库至关重要的文件、表空间、归档等信息。
通过 dump ctrlfile 的命令可以转储控制文件的信息:
connected. SQL> alter system dump ctrlfile; Succeed. SQL> exit
在 trc 目录下生成了 ctrl_page.trc 文件:
[eygle@enmodb1 trc]$ ls ctrl_page.trc zengine_smon_00003.trc
这其中记录了控制文件的基本信息:
information of page 0-1 lsn: 0 pcn: 0 size: 16384 type: ctrl next_ext: 1023-0 core information: version: 1-0-1-0 startup times: 2 dbid times: 918057731 database name: ENMOTECH init time: 2019-12-26 14:52:54 scn: 2729453806436353 table$ entry: 2 ix_table$1 entry: 34 ix_table$2 entry: 42 column$ entry: 10 ix_column$ entry: 50 index$ entry: 18 ix_index$1 entry: 58 ix_index$2 entry: 66 user$_entry: 26 ix_user$1 entry: 74 ix_user$2 entry: 82 rcy point: 0-4-310978-152773 lrp point: 0-4-310978-152773 raft flush point: scn(0)-lfn(0)-raft_index(0) ckpt_id: 2117 dw_start: 2192 dw_end: 2192 lsn: 4815341 lfn: 152809 build completed: 1 log count: 3 log hwm: 3 log first: 0 log last: 0 archive mode: 1 archive logs: 0-0-0-0-0-0-0-0-0-0 db_role: 0 protect mode: 0 space count: 7 device count: 13 page size: 8192 undo segments: 32 reset logs: 0-0-0 archived_start: 0 archived_end: 3 logic replication mode: 0 shutdown consistency: 0 open inconsistency: 0 consistent lfn: 152773 storage information: logfiles information: id name size hwm seq block_size flg type status forward backward #0 /gaussdb/gaussdata/data/log1 268435456 0 0 512 0 1 3 0 0 #1 /gaussdb/gaussdata/data/log2 268435456 0 0 512 0 1 1 0 0 #2 /gaussdb/gaussdata/data/log3 268435456 0 0 512 0 1 1 0 0 spaces information: id spaceid used name flg block_size extent_size file_hwm org_scn files #0 0 1 SYSTEM 1 8192 8 1 13941506049 0 #1 1 1 TEMP 1 8192 16 2 27533094913 1, 2 #2 2 1 UNDO 1 8192 1 1 31907020801 3 #3 3 1 USERS 9 8192 8 5 45212663809 4, 5, 6, 7, 8 #4 4 1 TEMP2 9 8192 8 2 111952060417 9, 10 #5 5 1 TEMP2_UNDO 1 8192 1 1 116150386689 11 #6 6 1 SYSAUX 1 8192 8 1 129292652545 12 datafiles information: id dfileid used name size block_size flg type auto_extend_size auto_extend_maxsize archive log information: id recid dest_id rst_id asn stamp blocks block_size first last name #0 1 0 0 1 631033201751653 522831 512 140075180033 1486171452416001 /gaussdb/gaussdata/archive_log/arch_0_1.arc #1 2 0 0 2 631093919681526 524288 512 1486171589705729 1746953313841153 /gaussdb/gaussdata/archive_log/arch_0_2.arc #2 3 0 0 3 631232697463247 524288 512 1746953429749761 2342998215012353 /gaussdb/gaussdata/archive_log/arch_0_3.arc
控制文件的基本信息,还可以查询 dv_control_files 视图获取:
NAME BLOCK_SIZE ---------------------------------------------------------------- ------------ /gaussdb/gaussdata/data/cntl1 16384 /gaussdb/gaussdata/data/cntl2 16384 /gaussdb/gaussdata/data/cntl3 16384
控制文件本身是二进制文件,但是通过 strings 也可以输出其中的文本属性信息,例如:
6ENMOTECH /gaussdb/gaussdata/data/log1 /gaussdb/gaussdata/data/log2 /gaussdb/gaussdata/data/log3 SYSTEM TEMP UNDO USERS TEMP2 TEMP2_UNDO SYSAUX /gaussdb/gaussdata/data/system /gaussdb/gaussdata/data/temp1_01 /gaussdb/gaussdata/data/temp1_02 /gaussdb/gaussdata/data/undo /gaussdb/gaussdata/data/user1 /gaussdb/gaussdata/data/user2 /gaussdb/gaussdata/data/user3 /gaussdb/gaussdata/data/user4 /gaussdb/gaussdata/data/user5 /gaussdb/gaussdata/data/temp2_01 /gaussdb/gaussdata/data/temp2_02 /gaussdb/gaussdata/data/temp2_undo /gaussdb/gaussdata/data/sysaux /gaussdb/gaussdata/archive_log/arch_0_1.arc /gaussdb/gaussdata/archive_log/arch_0_2.arc /gaussdb/gaussdata/archive_log/arch_0_3.arc
如果控制文件之一被损坏,则可以通过复制其他文件进行恢复。
转自墨天轮
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)