注册
达梦数据库学习24:表空间在线扩容
专栏/技术分享/ 文章详情 /

达梦数据库学习24:表空间在线扩容

Hi70KG 2023/09/25 2436 0 0
摘要

表空间在线扩容

查看系统磁盘容量

确保有充足的磁盘容量,扩容和存储表空间的备份

[dmdba@DCA /dm8/dmbak 2023-09-25 19:46:49]
$ df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               1.4G     0  1.4G    0% /dev
tmpfs                  1.5G  4.0K  1.5G    1% /dev/shm
tmpfs                  1.5G  9.6M  1.5G    1% /run
tmpfs                  1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/klas-root   72G   17G   56G   23% /
/dev/sda1              495M  201M  295M   41% /boot
/dev/mapper/klas-tmp   4.0G   61M  4.0G    2% /tmp
tmpfs                  289M   32K  289M    1% /run/user/0
tmpfs                  289M     0  289M    0% /run/user/993

查看磁盘IO

因为需要备份表空间,尽量在IO不繁忙时候操作

$ iostat -xm
Linux 4.19.90-24.4.v2101.ky10.x86_64 (DCA)      2023年09月25日  _x86_64_        (2 CPU)
​
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.54    0.00    1.07    0.02    0.00   98.37
​
Device            r/s     rMB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wMB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dMB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
dm-0             4.67      0.33     0.00   0.00    0.37    73.02    1.11      0.02     0.00   0.00    0.27    14.68    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.13
dm-1             0.16      0.00     0.00   0.00    0.21     6.83    1.66      0.01     0.00   0.00    0.34     4.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.01
dm-2             0.04      0.00     0.00   0.00    0.11    36.98    0.03      0.00     0.00   0.00    0.08    24.39    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
sda              5.03      0.35     0.08   1.61    0.31    70.98    1.26      0.02     1.54  55.16    0.26    19.20    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.14
scd0             0.02      0.00     0.00   0.00    0.17    29.58    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
​

查看会话数量

因为需要备份表空间,尽量在业务不繁忙时候操作

19:51:53 SYSDBA@LOCALHOST:5236 > SELECT USER_NAME AS 用户名,CLNT_IP AS 会话IP,COUNT(*) AS 会话数量 FROM SYS."V$SESSIONS" GROUP BY USER_NAME,CLNT_IP;
​
行号     用户名 会话IP                  会话数量
---------- --------- ------------------------- --------------------
1          SYSDBA    ::ffff:192.168.80.8:51414 1
2          SYSDBA    ::ffff:192.168.80.8:51436 1
3          SYSDBA    ::ffff:192.168.80.8:51438 1
4          SYSDBA    ::1:36108                 1
​
​

在线备份表空间

此处选择压缩并行扩容,节省容量,提高速度

backup tablespace TBS01 to "TS_TBS01_FULL_2023_09_25" backupset '/dm8/dmbak/TS_TBS01_FULL_2023_09_25' compressed level 4 parallel 4;

在线扩容表空间

在线扩容表空间,如果是主备集群环境,需要同时扩容主库和备库

已用时间: 1.598(毫秒). 执行号:1203.
19:53:11 SYSDBA@LOCALHOST:5236 > alter tablespace "TBS01" resize datafile 'TBS01_01.DBF' to 1024;
操作已执行
已用时间: 3.616(毫秒). 执行号:1204.
19:56:21 SYSDBA@LOCALHOST:5236 > alter tablespace "TBS01" datafile 'TBS01_01.DBF' autoextend off;
操作已执行
已用时间: 3.747(毫秒). 执行号:1205.
​

查看表空间状态

19:59:12 SYSDBA@LOCALHOST:5236 > select NAME,STATUS$ from V$tablespace;
​
行号     NAME   STATUS$
---------- ------ -----------
1          SYSTEM 0
2          ROLL   0
3          TEMP   0
4          MAIN   0
5          TEST   0
6          TBS01  0
7          TBS02  0
8          TBS03  0
9          DM     0
​
​

回退方案

检查备份集

RMAN> CHECK BACKUPSET '/dm8/dmbak/TS_TBS01_FULL_2023_09_25';
CHECK BACKUPSET '/dm8/dmbak/TS_TBS01_FULL_2023_09_25';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
check backupset successfully.
time used: 136.798(ms)

还原表空间

RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' TABLESPACE MAIN FROM BACKUPSET '/home/dm_bak/ts_full_bak_for_restore';
​

恢复表空间

RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' TABLESPACE MAIN FROM BACKUPSET '/home/dm_bak/ts_full_bak_for_restore';
​

查看恢复后的表空间状态

19:22:38 SYSDBA@LOCALHOST:5236 > select NAME,TYPE$ ,STATUS$   from v$tablespace;
​
行号     NAME   TYPE$       STATUS$
---------- ------ ----------- -----------
1          SYSTEM 1           0
2          ROLL   1           0
3          TEMP   2           0
4          MAIN   1           0
5          TEST   1           0
6          TBS01  1           1
7          TBS02  1           0
8          TBS03  1           0
9          DM     1           0
​
​
19:23:07 SYSDBA@LOCALHOST:5236 > alter tablespace TBS01 online;
操作已执行
已用时间: 6.343(毫秒). 执行号:303.
19:24:00 SYSDBA@LOCALHOST:5236 > select NAME,TYPE$ ,STATUS$       from v$tablespace;
​
行号     NAME   TYPE$       STATUS$
---------- ------ ----------- -----------
1          SYSTEM 1           0
2          ROLL   1           0
3          TEMP   2           0
4          MAIN   1           0
5          TEST   1           0
6          TBS01  1           0
7          TBS02  1           0
8          TBS03  1           0
9          DM     1           0
​
​
19:28:03 SYSDBA@LOCALHOST:5236 > create table tbs01 (id int,name varchar(10)) storage ( on "TBS01");
​
19:28:34 SYSDBA@LOCALHOST:5236 > insert into tbs01 (id,name) values (1,'A');
影响行数 1
​
已用时间: 1.065(毫秒). 执行号:306.
19:43:36 SYSDBA@LOCALHOST:5236 > commit;
操作已执行
已用时间: 0.609(毫秒). 执行号:307.
19:43:42 SYSDBA@LOCALHOST:5236 > select * from tbs01;
​
行号     ID          NAME
---------- ----------- ----
1          1           A

达梦社区技术https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服