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

举报
GaussDB小粉 发表于 2020/01/07 10:51:45 2020/01/07
【摘要】 如同我在 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。