注册
达梦DCA培训学习心得
培训园地/ 文章详情 /

达梦DCA培训学习心得

QfengMax03 2023/06/26 1792 0 0

有幸参加了达梦数据库DCA的培训学习,在三天的培训中学到了很多达梦数据库的知识和Linux相关命令,在这里总结一下学习心得。

一、配置图形化参数

配置图形化参数这一步特别重要,否则图形化工具就打不开了。

# 使用root用户 xhost + # 查看DISPLAY的值 echo $DISPLAY :0.0 # 切换到dmdba用户 # 这里切换dmdba使用的是 su - dmdba,而不是su dmdba # su - dmdba 和 su dmdba的区别:前者切换后环境变量是dmdba用户,后者切换后环境变量是root用户的。 su - dmdba # 设置DISPLAY的值 这里DISPLAY的值要写成 root用户执行echo $DISPLAY后输出的内容 export DISPLAY=:0.0

注意:每次打开一个新的窗口,都需要重新设置DISPLAY的值!

二、关于参数的类型

在修改参数的时候,要看清楚参数的类型。

  • 如果参数类型是IN FILE的话,修改完成后需要重启数据库实例才能生效。
  • 如果参数类型是SYS的话,修改完成不需要重新启动。

可以通过系统函数SP_SET_PARA_VALUE()进行修改,这个系统函数有三个参数

  • 第一个参数:修改参数的参数类型
    取值范围0(修改内存中的值),1(修改内存和配置文件中的值),2(修改配置文件中的值)
    如果要修改的参数类型是IN_FILE,第一个参数就选2;如果要修改的参数类型为SYS,第一个参数就选1。
  • 第二个参数:要修改的参数名
  • 第三个参数:要给参数赋的值

举个例子,修改SQL兼容模式的值:

-- SQL兼容模式的参数名:COMPATIBLE_MODE -- 兼容模式可以修改的值:0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata, 7:PG -- 查询COMPATIBLE_MODE的参数类型 SELECT NAME,TYPE,VALUE,SYS_VALUE,FILE_VALUE FROM V$PARAMETER WHERE NAME = 'COMPATIBLE_MODE'; -- NAME TYPE VALUE SYS_VALUE FILE_VALUE -- COMPATIBLE_MODE IN FILE 0 0 0 -- COMPATIBLE_MODE的参数类型是IN FILE,所以在使用SP_SET_PARA_VALUE修改的时候,第一个参数要指定为2 -- 将兼容模式调整为Oracle SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2); -- 因为COMPATIBLE_MODE的类型是IN FILE,所以修改完成后需要重启数据库实例,才能生效。

三、TEMP表空间大小

TEMP表空间数据文件的初始化大小是根据配置文件中的TEMP_SIZE参数来决定的。可以通过系统函数SP_SET_PARA_VALUE(2,'TEMP_SIZE',32)对TEMP表空间数据文件大小进行修改,修改后需要进行重启数据库实例才会使修改后的参数生效。

还有一种方法修改表空间数据文件的方式:

ALTER TABLESPACE TEMP RESIZE DATAFILE 'TEMP.DBF' TO 64;

通过这种方式修改表空间数据文件的大小,不会去修改配置文件中TEMP_SIZE的值,等重启数据库实例后,表空间数据文件大小又会变回到 TEMP_SIZE中设置的值。

四、关于表空间还原

在进行表空间还原的时候,我碰到了一个报错信息:备份集DB_MAGIC与当前库不匹配,很奇怪,于是我就开始回想我之前执行了哪些操作。
我执行的操作步骤是这样的:
1、先停止数据库实例
2、通过console工具对数据库进行脱机备份,备份了整个数据库。
3、备份完成后,我进行了整库还原操作,更新了数据库的MAGIC值。
4、模拟表空间损坏,把表空间数据文件进行了移动,让数据库无法检测到表空间的数据文件。
5、对表空间进行还原操作,在还原的时候使用的是第2步中备份的备份集,执行到这里的时候就报错了。

通过在浏览器中搜索了下错误信息,找到了原因:在对数据库进行整库还原操作后,我更新了MAGIC值,在进行对表空间恢复的时候,备份集的MAGIC值已经是之前旧的值了,所以报错:备份集DB_MAGIC与当前库不匹配

找到了原因,我重新执行了下还原操作。在还原操作完成之后,紧接着对数据库进行了一次备份。在表空间还原的时候,使用的备份集是数据库还原之后备份文件,表空间还原过程中没有发生任何错误,还原成功。

通过这个错误原因,我掌握了一个知识点:在对数据库进行整库还原操作之后,需要立即对数据库进行一次全量备份,在进行表空间还原的时候使用还原之后备份的那一个备份集。

五、关于事务的提交

在对表进行增删改操作(INSERT、UPDATE、DELETE)后,记得手动执行COMMIT进行事务提交操作。

六、总结

通过这三天的学习,掌握了不少达梦数据库的相关知识,很快就要考试了,心里有点忐忑不安,哈哈。
大家利用这几天的时间,把达梦数据库的操作多练习几遍,特别是设置图形化变量,考试的时候仔细审题,按照题目要求进行操作,只要操作对了就有分数。听说考试的时候有一个将表空间损坏,再对表空间进行还原的题目,这道题如果没有把握,可以跳过,做其他题目。
好了,就先总结到这里吧,希望大家都能顺利通过考试,

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服