暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB T 实践:如何通过命令转储控制文件

原创 eygle 2020-01-02
1153

如同我在 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

如果控制文件之一被损坏,则可以通过复制其他文件进行恢复。

最后修改时间:2020-01-02 23:47:47
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论