From 9fde925f9fff33fd91874c4c7a8fb8b65bf92f1c Mon Sep 17 00:00:00 2001 From: youxiangyang Date: Sat, 27 Nov 2021 21:15:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E7=BA=A7=E7=BB=B4=E6=8A=A4=E9=83=A8?= =?UTF-8?q?=E5=88=86=E7=9F=A5=E8=AF=86=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...56\347\232\204\350\277\201\347\247\273.md" | 33 +++++++++ .../readme.md" | 14 ++++ .../1.png" | Bin 0 -> 53691 bytes ...75\345\222\214\346\201\242\345\244\215.md" | 67 ++++++++++++++++++ 4 files changed, 114 insertions(+) create mode 100644 "\351\253\230\347\272\247\350\277\220\347\273\264/clob\346\225\260\346\215\256\347\232\204\350\277\201\347\247\273.md" create mode 100644 "\351\253\230\347\272\247\350\277\220\347\273\264/readme.md" create mode 100644 "\351\253\230\347\272\247\350\277\220\347\273\264/\346\225\260\346\215\256\345\244\207\344\273\275\345\222\214\346\201\242\345\244\215.assets/1.png" create mode 100644 "\351\253\230\347\272\247\350\277\220\347\273\264/\346\225\260\346\215\256\345\244\207\344\273\275\345\222\214\346\201\242\345\244\215.md" diff --git "a/\351\253\230\347\272\247\350\277\220\347\273\264/clob\346\225\260\346\215\256\347\232\204\350\277\201\347\247\273.md" "b/\351\253\230\347\272\247\350\277\220\347\273\264/clob\346\225\260\346\215\256\347\232\204\350\277\201\347\247\273.md" new file mode 100644 index 0000000..a03e0c0 --- /dev/null +++ "b/\351\253\230\347\272\247\350\277\220\347\273\264/clob\346\225\260\346\215\256\347\232\204\350\277\201\347\247\273.md" @@ -0,0 +1,33 @@ +# Gbase8s中的CLOB数据迁移 + +Note: + +- Gbase8s中可以存储大文本对象clob,最大可以支持4T +- 对于CLOB数据,不好直接导出,需要特殊的方式来处理. + + + +导出clob数据到文件: + +```sql +-- 测试表: +create table t_user1( + f_userid int, + f_username varchar(20), + f_attachment clob +) put f_attachment in (sbspace1); + +-- 先导出其他字段: +unload to 'user_data/user1.txt' select f_userid, f_username, null as f_photo from t_user1; + +-- 再处理clob +select lotofile(f_attachment, concat(concat('user_clob/', f_username), '.txt!'), 'client') from t_user1; + +-- 导入数据 +load from 'user_data/user1.txt' insert into t_user2; + +-- 使用文件更新表中的clob字段 + update t_user2 set f_attachment = filetoclob(concat(concat('user_clob/', f_username), '.txt'), 'client'); +``` + +注意:在导出文件命名时,要以!进行结尾,不然GBase 8s会自动在文件名后加上后缀,以防止文件重名。 \ No newline at end of file diff --git "a/\351\253\230\347\272\247\350\277\220\347\273\264/readme.md" "b/\351\253\230\347\272\247\350\277\220\347\273\264/readme.md" new file mode 100644 index 0000000..9ae21ca --- /dev/null +++ "b/\351\253\230\347\272\247\350\277\220\347\273\264/readme.md" @@ -0,0 +1,14 @@ +# 高级运维部分 + +数据库的备份、恢复,其实在我的工作中,用到的概率几乎为0。嗯,所以这里不再进行整理。主要参考的还是冀工的文章即可。 + + + +**参考资料:** + +[基于gbaskuprestore的备份与恢复]:https://blog.csdn.net/jihui8848/article/details/121124972?spm=1001.2014.3001.5501 +[基于gtape的备份和恢复]:https://blog.csdn.net/jihui8848/article/details/121006201?spm=1001.2014.3001.5501 +[管理员命令]:https://blog.csdn.net/jihui8848/article/details/121124857?spm=1001.2014.3001.5501 + + + diff --git "a/\351\253\230\347\272\247\350\277\220\347\273\264/\346\225\260\346\215\256\345\244\207\344\273\275\345\222\214\346\201\242\345\244\215.assets/1.png" "b/\351\253\230\347\272\247\350\277\220\347\273\264/\346\225\260\346\215\256\345\244\207\344\273\275\345\222\214\346\201\242\345\244\215.assets/1.png" new file mode 100644 index 0000000000000000000000000000000000000000..03994ad38e8095df107179914a701a2fdad60b5e GIT binary patch literal 53691 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

RS+HFHN=8=6fxdsEI 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 gtape -s -L 0 +> +> -s 表示备份整个系统 +> +> -L 表示备份级别 + + + +```shell +gtape -s -L 0 +# 备份目录中会生成一个devsvr_1_LO的备份文件。L0表示一个0级备份。 +# 执行L1备份 +gtape -s -L 1 +# 执行L2备份 +gtape -s -L 2 + +# 恢复 +gtape -r + +``` + + + +## gbackuprestore + +gbackuprestore 由各种组件组成,它需要与存储管理器一起使用,来备份和恢复数据。 + +gbackuprestore组件: + +- sysutils 数据库,其中包含gbackuprestore目录表 +- gbackuprestore 和 gbackuprestore_d 命令行实用程序 +- 系统上存储管理器的 XBSA 共享库 +- 用于存储备份的存储介质 +- gbackuprestore活动日志 +- gbackuprestore紧急引导文件 + +![img](%E6%95%B0%E6%8D%AE%E5%A4%87%E4%BB%BD%E5%92%8C%E6%81%A2%E5%A4%8D.assets/1.png) + + + + + +GBase 8s 的gbackuprestore支持第三方的存储管理器,进行数据库的备份与恢复。GBase 8s也内置了一个存储管理器PSM(Primary Storage Manager)。 + +对于备份会话,gbackuprestore 从数据库服务器请求存储空间和逻辑日志的内容,并将它们传递到存储管理器。存储管理器将数据存储在存储介质上。 +对于恢复会话,gbackuprestore 从存储管理器请求已备份的数据,然后在数据库服务器上恢复该数据。 + -- GitLab