近日,我参加了为期三天的DCA线上培训,并顺利通过了考试。这次培训不仅让我对达梦数据库的基础理论知识和实际操作有了更深入的理解,还激发了我进一步探索和学习达梦数据库的兴趣。
回顾这次培训,课程内容丰富且系统,短短三天内涵盖了以下几个模块:
数据库软件安装与实例初始化与配置
注意事项:
DMSQL
主要学习语法:
SELECT ... FROM ... WHERE
组成的查询块。CREATE TABLE
、CREATE VIEW
、CREATE INDEX
等。INSERT
、UPDATE
、DELETE
。DM8体系结构
表空间管理
创建表空间示例:
CREATE TABLESPACE "" DATAFILE '/dmdata/DAMENG/TEST.DBF' SIZE 1024 AUTOEXTEND ON NEXT 128 CACHE = NORMAL;
用户管理
CREATE ROLE "ROLE_NAME";
GRANT CREATE TABLE, CREATE VIEW, CREATE INDEX TO "ROLE_NAME";
CREATE USER "TEST" IDENTIFIED BY "密码" DEFAULT TABLESPACE "TEST" DEFAULT INDEX TABLESPACE "TEST";
GRANT "ROLE_NAME" TO "TEST";
模式和对象管理
创建表并指定所属表空间:
CREATE TABLE "T3"."TEST"
(
"T1" CHAR(25),
"T2" CHAR(25),
"T3" INT
)
STORAGE(INITIAL 1, NEXT 1, MINEXTENTS 1, FILLFACTOR 0, ON "TEST");
添加主键约束:
ALTER TABLE "T3"."TEST" ADD CONSTRAINT PRIMARY KEY("T3");
添加唯一约束:
ALTER TABLE "T3"."TEST" ADD UNIQUE("T2");
备份还原
vi dm.ini #将 ARCH_INI 修改为1
vi dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/dmarch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 2048
./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dmdata/dmbak/BACKUP_FILE_01'";
./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE_01'";
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE_01'";
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC";
作业管理
定时备份与清理:
-- 开启代理:
CALL SP_INIT_JOB_SYS(1);
-- 每周六一点全备
CALL SP_CREATE_JOB('BAK_FULL',1,0,'',0,0,'',0,'BAK_FULL');
CALL SP_JOB_CONFIG_START('BAK_FULL');
CALL SP_ADD_JOB_STEP('BAK_FULL', 'BAK_FULL', 6, '01000000/dmdata/dmbak', 1, 1, 0, 0, NULL, 0);
CALL SP_ADD_JOB_SCHEDULE('BAK_FULL', 'BAK_FULL', 1, 2, 1, 64, 0, '01:00:00', NULL, '2024-08-21 14:58:20', NULL, '');
CALL SP_JOB_CONFIG_COMMIT('BAK_FULL');
-- 每天2点增备(除每周六外)
CALL SP_CREATE_JOB('BAK_INC',1,0,'',0,0,'',0,'BAK_INC');
CALL SP_JOB_CONFIG_START('BAK_INC');
CALL SP_ADD_JOB_STEP('BAK_INC', 'BAK_INC', 6, '11000000/dmdata/dmbak|/dmdata/dmbak', 1, 1, 0, 0, NULL, 0);
CALL SP_ADD_JOB_SCHEDULE('BAK_INC', 'BAK_INC', 1, 2, 1, 63, 0, '02:00:00', NULL, '2024-08-21 15:00:17', NULL, '');
CALL SP_JOB_CONFIG_COMMIT('BAK_INC');
-- 备份保留30天
CALL SP_CREATE_JOB('DEL_BAK',1,0,'',0,0,'',0,'DEL_BAK');
CALL SP_JOB_CONFIG_START('DEL_BAK');
CALL SP_ADD_JOB_STEP('DEL_BAK', 'DEL_BAK', 0, 'CALL sf_bakset_backup_dir_add(''DISK'', ''/dmdata/dmbak''); CALL sp_db_bakset_remove_batch(''DISK'',SYSDATE-30);', 0, 0, 0, 0, NULL, 0);
CALL SP_ADD_JOB_SCHEDULE('DEL_BAK', 'DEL_BAK', 1, 2, 1, 127, 0, '04:00:00', NULL, '2023-05-23 13:35:02', NULL, '');
CALL SP_JOB_CONFIG_COMMIT('DEL_BAK');
DM8开发
每天的直播课程包括讲师的知识点讲解、实际操作演示、答疑环节以及课间休息。课程结束后,讲师还会提供当天的课程录屏,方便我们重复学习不理解的部分。微信群中分享的培训讲义也非常有用,内容详实,包括知识点释义和操作步骤截图,为课后练习提供了便利。
整个培训过程体验非常良好,讲师讲解细致入微,任何疑问都能及时得到解答。只要在课堂上认真听讲,并在课后积极练习,考试将不成问题。
以上是我对这次DCA培训和考试的一些心得体会,希望能对未来参加该培训的同学有所帮助。
文章
阅读量
获赞