注册
DCA学习笔记与体会
技术分享/ 文章详情 /

DCA学习笔记与体会

小霜霜 2024/10/18 441 0 0

概要

培训课程安排

时间 课程内容
Day1 国产数据库现状及未来、DM8企业版安装、创建数据库及数据库实例管理、DMSQL
Day2 DM8体系结构、表空间管理、用户角色权限管理
Day3 模式对象管理、备份还原、作业管理、数据字典和动态性能视图、DM8开发
考试 上机实践考核,预约考试

DCA考试&培训环境

虚拟机:VMwareworkstation V16/V17

操作系统:Kylin-Server-10-SP2-x86

数据库:DM8(X86-Linux7)

考试内容

数据库安装/dm、实例创建(指定页大小、字符集、数据库密码)、参数修改、创建表空间、创建用户、角色、权限管理;创建表、约束、导入脚本数据、索引、视图等;开归档、物理备份、逻辑备份还原;故障模拟,数据库的还原与恢复;DM 作业、ODBC 配置等。

DCA培训体会

通过这次DCA培训与学习,我能够基本掌握DM8的基础功能与操作,但仍有较多的功能需要我更深入地学习,以便加深对产品特性的了解,奠定后续工作的基础。

总体来说,DCA的知识点比较基础,按照培训老师的课程和要求多加练习即可掌握。建议没有数据库基础的同学,可以提前花时间学习与实操相应的知识点,因为线上培训仅为期3天,培训会讲得很细,但速度也比较快,上完课后能练习的时间非常有限,培训完一般会有一个周末+2、3天的时间实操,且在练习过程中会遇到各种遇过的未遇过的报错,这些报错都是需要时间去探索解决的。

主要内容

一、建立用户

--创建组 groupadd dinstall --创建用户 useradd -g dinstall dmdba --设置密码 passwd dmdba /*输入自己想要设置的密码,需要输两次*/

二、规划软件安装位置

安装的相关路径:

  • 软件安装路径:/dm8
  • 数据库实例创建路径:/dm8/data
  • 归档日志文件存储路径:/dm8/arch
--创建文件夹,一般安装在根目录下 mkdir /dm8 --查看文件夹的权限 ll -ld /dm8 --分配文件夹的权限给dmdba chown dmdba:dinstall -R /dm8 /*可以重新查一下文件夹的权限*/

三、图形化方式设置

--使用root权限,查询端口号 echo $DISPLAY --查询结果::0.0 | :1.0 | :2.0 --执行xhost命令,允许其他用户访问通过X协议来显示图形界面 xhost + --切换到dmdba用户,设置端口号。设置的端口号=查询端口号结果 su - dmdba export DISPLAY=:0.0 echo $DISPLAY

按照步骤设置了图形化端口号,如果仍会出现无法启动图形化的情况:
image20241009173835857.png

可以尝试:

1、重新开一个终端,重新设置一次端口号,一般端口号会变得和第一次不一样

2、练习时,可以使用root执行startx,然后再重新设置一次端口号;但考试时不可以!

四、安装数据库

考试时,数据库的安装包会放在特定的目录下。

练习时,可以用虚拟机硬件设置CD/DVD连接DM8的映像文件。在虚拟机中,打开【我的电脑】即可找到映像文件,需要将安装包DMInstall.bin复制到虚拟机上。

image20241012113119836.png

--需要使用root用户,挂载镜像 mount -o loop dm8_20240408_X86_rh7_64.iso /mnt --切换到dmdba用户,到/mnt目录下查看挂载情况 su - dmdba cd /mnt

图形化

--切记,需要切换到dmdba用户下进行数据库安装 su - dmdba --切换到安装包所在目录,执行安装包 ./DMInstall.bin

按照安装引导完成安装即可。

需要注意:

1、无需输入【Key文件】;

2、需要注意安装位置需要填之前规划好的路径;

3、安装完成后需要根据指示,使用root用户执行要求脚本

命令行

--切记,需要切换到dmdba用户下进行数据库安装 su - dmdba --切换到安装包所在目录,执行安装包 ./DMInstall.bin -i

按照安装引导完成安装即可。

如果报错:
image20241009173417728.png

原因:系统的临时空间/tmp太小了,不足以支撑安装程序运行

解决方法:在系统其他地方建立一个临时的安装目录,将环境变量DM_INSTALL_TMPDIR指向它即可

mkdir /home/dmdba/tmp export DM_INSTALL_TMPDIR=/home/dmdba/tmp

五、创建数据库实例

图形化

--切换到数据库安装目录下的tool目录,使用dbca工具创建 cd /dm8/tool ./dbca

1、创建数据库实例,选择一般用途即可
2、默认路径是数据库data存储路径
3、数据库标识,练习时一般可以默认,考试时按题目要求设置
image20241012172430390.png

4、数据库文件所在位置,一般是在数据库实例目录下
5、数据库初始化参数,在创建实例时设置,后期无法修改,需认真规划
image20241012172910265.png

6、口令管理,设置SYSDBA的密码,默认密码:SYSDBA

建议练习时不要设置含特殊字符【美元符($)、反引号(`)、转义符()、感叹号】的密码,会在后续操作中涉及较为复杂的字符转义

7、示例库,在练习时可以创建一下,方便实操

命令行

--切换至数据库bin目录下,使用dminit工具创建 cd /dm8/bin --启动dminit工具,并设置数据库初始化参数 ./dminit path=/dm8/data db_name=DAMENG instance_name=DMSERVER port_num=5236 page_size=16 log_size=500 SYSDBA_PWD=Dameng123 /*结果出现success即创建成功*/

六、数据库参数配置

数据库参数配置

DM的数据库参数分为静态参数和动态参数两种类型,再具体细分可以分为四种:

  • READ ONLY:<u>手动参数</u>,不能通过 SQL 命令或函数修改;只能通过修改 dm.ini 文本文件修改此参数(需要重启数据库才能生效)。

  • SYS:<u>动态(系统级)参数</u>。数据库运行中可以直接修改,可以即可以修改内存中的值,也可以修改参数文件中的值。可以通过 SQL 命令或系统函数修改。

  • SESSION:<u>动态(会话级)参数</u>,数据库运行中可以直接修改,可以即可以修改内存中的值,也可以修改参数文件中的值,还可以只修改当前会话的值。可以通过 SQL 命令或函数修改,且可以只针对当前会话生效。

  • IN FILE:<u>静态参数</u>,不能修改内存中的值,只能修改参数文件中的值,可以通过 SQL 命令或函数修改,但需要重启数据库才能生效

ps:静态参数在数据库运行期间不能修改内存中的值,动态参数在数据库运行期间可以修改内存中的值(修改后立即生效)。

--查看数据库参数 select distinct para_type from v$dm_ini;

image20240926113619321.png

图形化修改_console工具

image20240926114438368.png

ps:需重启系统才生效,因此考试时(不允许重启系统),配置参数尽量用命令行而非图形化。另,隐形函数无法用图形化界面修改。

系统函数修改

可以用来修改静态和动态参数,静态参数只能修改配置文件中的值(修改后需要重启数据库才能生效),动态参数即可以修改内存中的值(修改成功后即生效),也可以修改参数文件的值。

通过调用系统过程SP_SET_PARA_VALUE()、SP_SET_PARA_DOUBLE_VALUE()和SP_SET_PARA_STRING_VALUE()对参数值进行修改。

SP_SET_PARA_VALUE:修改整型参数。
SP_SET_PARA_DOUBLE_VALUE:修改浮点型参数:比如 UNDO_RETENTION。
SP_SET_PARA_STRING_VALUE:修改字符型参数

select name,id from v$ifun t where name like '%_SET_PARA%';

image20240926124902977.png

select * from v$ifun_arg t where id=584;

image20240926125539015.png

参数说明:
SCOPE:修改范围(0:memory;1:both(memory+spfile);2:spfile)

改静态参数:
image20240926142814139.png
改动态参数:
image20240926151103042.png

使用SQL语句alter system set命令修改

可以用来修改静态和动态参数,静态参数只能修改配置文件中的值(修改后需重启数据库才能生效),动态参数即可以修改内存中的值(修改成功后即生效),也可以修改参数文件的值。

COMPATIBLE_MODE (静态参数)

  • 0:不兼容,缺省值
  • 1:兼容 SQL92 标准,
  • 2:部分兼容 ORACLE,
  • 3:部分兼容 MS SQL SERVER,
  • 4:部分兼容 MYSQL,
  • 5:兼容 DM6,
  • 6:部分兼容 TERADATA

如:修改数据库兼容性参数(静态参数),修改数据库兼容性参数使其兼容 Oracle 数据库。由于此参数是静态参数,所以不能修改内存中的值,只能修改参数文件中的值,并且需要重启数据库才能生效。

alter system set 'COMPATIBLE_MODE'=2 spfile; -- 修改配置文件里的静态参数COMPATIBLE_MODE

image20240926152621144.png
重启服务后,配置文件才生效,para_value的值由0更改为2。
image20240926153752672.png

直接修改dm.ini配置文件

可以 vim 编辑 dm.ini 文件,采用此方式不管修改什么类型参数都需要重启数据库服务才能生效。

数据缓冲区配置

用于缓存数据文件中的数据页。

BUFFER 是从磁盘读出的数据页在内存中的镜像,包含四个类型,分别是 normal、fast、recycle、keep,由 INI 配置中的 BUFFER、FAST_POOL_PAGES、RECYCLE、KEEP 等确定大小。

--查看四个类型缓冲区的大小 select * from SYS."V$PARAMETER" t where name in ('BUFFER','FAST_POOL_PAGES','RECYCLE','KEEP'); --为了结果更美观,可以筛选关键列 select name,type,value,sys_value,file_value from v$parameter t where name in ('BUFFER','KEEP','A6P00PAGES','RECYCLE'); --将normal缓冲区的大小改为500 alter system set 'BUFFER'= 500 spfile;

ie20240926174433657.png

image20240926173530388.png

也可以在dm.ini配置文件修改

七、表空间管理

表空间是DM数据库的最大逻辑存储单元,表中的数据在逻辑上都是存放在表空间中,在物理上存放在表空间对应的物理数据文件。表空间由数据文件组成,表空间采用段、簇、页的方式进行管理。

DM数据默认设定有五个表空间:SYSTEM、ROLL、MAIN、TEMP、HMAIN(DM8新版本没有)

管理表空间

创建表空间
CREATE TABLESPACE TBS DATAFILE 'dm/data/TEST/TEST01.DBF'SIZE 64;

DM 数据文件大小,最小值不能低于页大小的 4096 倍(我这页大小是 8K,最小值将不
低于 32M;如果页大小是16K,最小值不低于64M),最大值为页大小的 2 的 31 次方-1(如果页大小是 8K,最大值为 16T-1)

修改表空间

为刚刚创建的表空间的数据文件,开启自动扩展,每次扩展1M,最大扩容为1G ;

alter tablespace TBS DATAFILE '/dm8/data/TEST/TEST01.DBF' AUTOEXTEND on NEXT 1 MAXSIZE 10240; --关闭自动扩展 alter tablespace TBS DATAFILE '/dm8/data/TEST/TEST01.DBF' AUTOEXTEND off;

向表空间添加数据文件,并开启自动扩容,每次扩展1M,每个数据文件最大1G;

alter tablespace TBS add DATAFILE '/dm8/data/TEST/TEST02.DBF' size 64 AUTOEXTEND on NEXT 1 MAXSIZE 10240;
表空间脱机

SYSTEM、ROLL、TEMP 表空间不能脱机。

ALTER TABLESPACE TBS OFFLINECREATE TABLE t_test(id int,name VARCHAR(20))TABLESPACE TBS;

表空间脱机后,该表空间中的数据将不能读写。

表空间重命名

DM 预定义表空间不支持重命名,自定义表空间支持重命名。

alter tablespace TBS RENAME TO dmtbs;
删除表空间
drop tablespace dmtbs;
图形化界面

image20240926203601991.png

管理数据文件

自定义表空间的数据文件可以在脱机情况下迁移

--将表空间脱机 alter tablespace TBS offline; --迁移表空间数据文件 alter tablespace TBS DATAFILE 'TEST01.DBF' TO '/dm/data/DM/TEST/TEST01.DBF'; alter tablespace TBS DATAFILE 'TEST02.DBF' TO '/dm8/data/DM/TEST/TEST02.DBF'; --启动表空间 alter tablespace TBS online;

ps:迁移的文件路径需要提前创建,否则会报错

管理重做日志文件

重做日志文件包含联机日志文件和归档日志文件(数据库在归档模式下才会产生归档日志文件)。

重做日志文件:存放 redo 信息,<u>循环使用,不断覆盖</u>。

image20240926212223254.png

查询日志文件,可看到重做日志大小默认为256M;

对日志文件进行修改、添加:

--修改联机日志文件大小 alter database RESIZE LOGFILE '/dm/data/DM/DM01.log' TO 300; alter database RESIZE LOGSIZE '/dm/data/DM/DM02.log' TO 300; --添加联机日志文件 alter database add LOGSIZE '/dm/data/DM/DM03.log' SIZE 300; --修改联机日志文件路径 --1、先将数据切换至mount状态 alter database mount; --2、修改日志文件路径 alter database RENAME LOGFILE '/dm/data/DM/DM01.log' TO '/dm/data/REDO/TEST01.log'; alter database RENAME LOGFILE '/dm/data/DM/DM02.log' TO '/dm/data/REDO/TEST02.log'; alter database RENAME LOGFILE '/dm/data/DM/DM03.log' TO '/dm/data/REDO/TEST03.log'; --将数据库切换到open模式 alter database open;

八、用户管理

DM8预定义用户:

  • SYS:系统内置用户,不允许登录。常用的数据字典表信息在该用户下。
  • SYSDBA:系统管理员,拥有几乎所有权限(除数据库审计和强制访问控制之外的权限)
  • SYSAUDITOR:系统审计管理员,具有审计相关权限。
  • SYSSSO:系统安全管理员,具有强制访问控制等权限;
  • SYSDBO:安全版本才有的用户,安全对象操作员。

系统口令策略

参数“PWD_POLICY”指定系统的口令策略,隐含参数,不在dm.ini中,需要使用SQL命令修改:

  • 0 无策略

  • 1 禁止与用户名相同

  • 2 缺省值,口令长度需大于等于 INI 参数 PWD_MIN_LEN (默认为9)设置的值

  • 4 至少包含一个大写字母(A-Z)

  • 8 至少包含一个数字(0-9)

  • 16 至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号)

口令策略可单独应用,也可组合应用。组合应用时,如需要应用策略2 和4,则设置口令策略为2+4=6即可

--查询口令策略情况 select * from v$parameter t where t.name='PWD_POLICY'; --修改系统口令策略(这里就是1+2+4,三种组合) alter SYSTEM set 'PWD_POLICY'=15 BOTH;

image20240929152838460.png

管理用户

--创建用户hr,密码为Dameng123,默认表空间为TEST create user hr IDENTIFIED by Dameng123 DEAFAULT TABLESPACE TEST; --用户锁定 alter user hr ACCOUNT LOCK; --用户解锁 alter user hr ACCUONT UNLOCK; --修改用户默认表空间 alter user hr DEFAULT TABLESPACE BOOPSHOP; --修改用户密码 alter user hr IDENTIFIED by "Dameng@123"; --删除用户,单独删除 drop user if EXISTS hr; --级联删除用户及用户下的对象信息,生产环境慎用 drop user if EXISTS hr CASCADE;

图形化界面:
image20241014125953522.png

SYSDBA 的密码忘记了,有办法登录重置吗?

两种前提(满足之一就可重置)。

1、用 ALTER USER 权限的其他用户登录数据库,重置 SYSDBA 的密码:
alter user sysdba identified by XXX;

2、数据库开启了操作系统认证(提前打开)
ENABLE_LOCAL_OSAUTH 参数(静态参数(隐含参数,不在 dm.ini 中),需要 DBA 权限
的用户修改,改后需重启数据库生效。)

用户资源限制

用户资源限制设置(可以直接使用 limit 子句,也可以使用 profile 来管理用户的资源限制)

--1、使用limit子句 --限制hr用户登录失败次数为5次,密码锁定时间为3分钟 alter user hr limit FAILED_LOGIN_ATTEMPS 5,PASSWORD_LOCK_TIME 3; --2、使用profile管理 --查询数据库中的资源情况 select * from DBA_PROFILES; --创建资源限制profile1,限制用户登录失败次数为3次,密码 锁定时间为3分钟,密码存活时间为360天 create profile profile1 limit FAILED_LOGIN_ATTEMPS 3,PASSWORD_LOCK_TIME 3,PASSWORD_LIFE_TIME 360; --将资源限制运用到hr用户上 alter user hr PROFILE profile1;

图形化界面:
image20241014130319245.png

用户权限

权限分为系统权限(数据库权限)和对象权限。

  • 系统权限:CREATE TABLE、SELECT TABLE 等对某一类对象的对象操作,对象定义权限。

  • 对象权限:精确到某一个具体对象的查询/插入/更新/删除(表)、执行(函数或过程)等权限。

--查看当前用户权限 select * from session_privs;

image20240929153306034.png

需要用有DBA权限的用户才能授予其他用户权限

未授予权限前:
image20240930142658764.png

用DBA角色用户赋予hr权限

--给hr用户赋予创建表的权限 grant create table to hr;

image20240930143047512.png

用户角色

角色是权限的集合,角色使权限管理更加方便

  • DBA:具有几乎所有权限(除审计和强制访问控制之外),默认赋给SYSDBA用户。

  • PUBLIC:具有对当前模式下对象的DML数据操作权限。

  • RESOURCE:具有在当前模式下对象定义权限(创建表、索引、视图等);

  • SOI:具有查询sys开头系统表的权限;

  • VTI:具有查询v $$开头的动态视图权限(动态视图记录在vdynamic_tables,如果没有此权限,DM管理工具上会报没有查询v视图权限)

  • DB_AUDIT_ 开头的角色是审计相关角色,具有审计相关权限,默认赋给SYSAUDITOR。

  • DB_POLICY_开头的角色是安全相关角色,具有强制访问控制等权限,默认赋给 SYSSSO

查询DM预定义的角色
image20240930144118493.png

--查询数据库中的角色 select * from dba_roles; --创建角色,并赋予该角色一定的权限 create role r1; grant create table to r1; grant select on dmhr.department to r1; --将角色赋予给用户,使用户拥有该角色的权限 grant r1 to dmtest;

九、模式对象管理

模式与用户之间的关系

  • 模式定义:模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集

  • 模式对象: 表、视图、约束、索引、序列、触发器、存储过程/函数、包、同义词、类、域

模式与用户之间的关系:

1、当系统建立一个用户时,会自动生成一个同名的模式

2、用户还可以建立其他模式,DM 中用户和模式是一对多的关系,一个用户可以拥有多个模式,一个模式仅能归属于一个用户。Oracle 中用户和模式是一对一的关系。

管理模式

--创建模式 create schema hrtest1 AUTHORIZATION hr; --创建该新模式的表 create table hrtest1.t_test(id int, name varchar(20)); --切换hr用户,切换模式。慎用,仅当前会话有用 set SCHEMA hrtest1; --查看当前模式 select sys_context('USERENV','CURRENT_SCHEMA'); --删除模式 drop schema if EXISTS hrtest1;

十、管理表

表是区分大小写的

--创建表 create table hr.test( pid int, pname varchar(20), sex bit, longtime datetime ) TABLESPACE TEST; --使用as复制表结构 create table t_emp as select * from hr.test; /*复制表时,不会复制表的约束信息*/ --字段操作 /*添加字段*/ alter table hr.test add column email varchar(30); /*修改字段*/ alter table hr.test modify email varchar(50); /*删除字段*/ alter table hr.test drop longtime; /*对字段添加默认值*/ alter table hr.test add column longtime datetime default sysdate; /*重命名表或字段*/ ALTER TABLE hr.test RENAME To testoa; ALTER TABLE hr.testoa RENAME column pid to id--rename后面不加模式名,加了模式会报错 --对表和字段添加注释 comment on column hr.testoa.sex is 'sex.0:female 1:male'; comment on table hr.testoa is 'this is a test table'; --修改表的表空间 alter table hrtest1.t_test move tablespace main;

image20241014142258700.png

管理约束

约束类型:

  • NOT NULL:非空约束

  • UNIQUE:唯一约束,列值可以为空,但值必须唯一

  • PRIMARY KEY:主键约束 (唯一约束+非空约束),一张表只能有一

    个主键

  • FOREIGN KEY:外键约束,引用另一张表的主键或者唯一键(有唯

    一索引),表A的某一 列引用B表某个唯一列,B称为父表、A称为

    子表

  • CHECK:检验约束,用于检验列的值需要满足检验条件

--添加主键约束 ALTER TABLE hr.T_TEST add CONSTRAINT pk_test_id FOREIGN KEY(id); --添加外键,REFERENCNS里面的是另一个表的主键 ALTER TABLE hr.T_TEST add CONSTRAINT fk_test_id FOREIGN KEY(id) REFERENCES hr.TESTOA(id); --添加校验约束 alter TABLE hr.T_test add salary number(10.2); ALTER TABLE hr.T_TEST ADD CONSTRAINT ck_test_salary CHECK(salary>=2100);

image20241014142549318.png

管理索引

索引类型包含:聚簇索引、二级索引、函数索引、位图索引(主要用于 OLAP 系统)、位图连接索引、全文索引、组合索引等。

二级索引(B+树索引),索引的存在是为了提高查询速度。

索引是一种数据库对象,通过指针加速查询速度,通过快速定位数据的方法,减少磁盘 I/O。

--创建索引 CREATE INDEX ix_emp01_employeename ON hr.T_TEST(NAME); CREATE TABLE hr.t_EMP LIKE DMHR.EMPLOYEE; CREATE INDEX ix_emp_employeename ON hr.t_EMP(EMPLOYEE_NAME); EXPLAIN SELECT * FROM HR.T EMP t where t.EMPLOYEE NAME like '%马%'; /*查看索引的结构*/

image20241014143451476.png

管理视图

--创建视图 create view hr.v_emp as select a.DEPARTMENT_ID,a.DEPARTMENT_NAME,b.SALARY from Hr.T_DEP a,(SELECT DEPARTMENT_ID,sum(SALARY) AS SALARY FROM Hr.T_EMP GROUP BY DEPARTMENT_ID HAVING sum(SALARY)>8000) b where a.DEPARTMENT_ID=b.DEPARTMENT_ID;

image20241014143620348.png

十一、数字字典和动态性能视图

存储在 SYSTEM 表空间中,包含对象定义、权限、用户角色等信息。

  • USER_* 用户所拥有的对象信息
  • ALL_* 用户能访问的对象信息
  • DBA_* 整个数据库中的对象信息
--系统中所有对象的信息 SELECT * FROM SYS.SYSOBJECTS; --系统中所有索引定义信息 SELECT * FROM SYS.SYSINDEXES; --系统中所有列定义的信息 SELECT * FROM SYS.SYSCOLUMNS;

image20241008142527874.png

--查看数据缓冲区 SELECT * FROM V$BUFFERpool; SELECT * FROM V$mem_pool; --显示数据文件、表空间信息 SELECT * FROM V$DATAFILE; SELECT * FROM V$tablespace; --显示当前进程、线程信息 SELECT * FROM V$PROCESS; SELECT * FROM V$threads;

十二、数据库的备份还原

按照备份原理划分为物理备份和逻辑备份

物理备份是拷贝数据文件中有效的数据页。备份效率更高,备份更快。

逻辑备份是导出数据库中逻辑数据(创建对象语句、插入的 sql 语句)等,数据量大时备份还原效率较低。

从备份的完整性划分:物理备份分为完全备份 FULL、增量备份INCREMENT

完全备份是指一个备份包含指定数据库或表空间的所有有效数据页;

增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的数据页;增量备份包含差异增量备份和累积增量备份,默认是<u>差异增量备份</u>。

差异增量备份的基础备份集可以是全量备份,也可以是增量备份;

累计增量备份(cumulative)的基备份集只能是全量备份。

从备份时数据库状态划分:联机备份(热备)和脱机备份(冷备)。

热备:指数据库启动状态下的备份,也叫联机备份。

冷备:指数据库关闭状态下的备份,也叫脱机备份。

物理备份级别:全库备份、表空间级备份、表级备份、归档备份。

物理还原是备份的逆过程;还原是将数据库还原到备份的那一刻。

恢复是使用归档日志(重做日志)将数据库恢复到最新状态(完全恢复)或指定时间点(不完全恢复);或使用备份集中的 redo 信息将数据库恢复至一致性状态(恢复到备份结束的时间点)。

备份还原两个重要参数:

select * from v$parameter t where name in ('BAK_PATH', 'BAK_USE_AP');

BAK_PATH:DM 默认的备份路径,生成环境不要和源库数据文件放在同一磁盘上。避免磁盘损坏,数据文件和备份文件同时损坏的情况。

BAK_USE_AP:备份还原策略,默认使用 DMAP 辅助进程。

BAK_USE_AP 1 动态,会话级 备份还原实现策略。<br />1:DMAP 辅助进程方式,要求必须启动 DMAP 服务,可支持第三方备份。DMAP 插件执行,改造了备份还原任务子系统,允许指定并行度,大幅提升了备份还原的效率,特别是加密、压缩的处理效率。<br />2:无辅助进程方式,不依赖 DMAP,由主进程DMSERVER 自身执行备份还原,但不支持第三方备份。
BAK_PATH 安装时指定 手动 默认备份路径

查看AP服务是否启动:
image20241008150752534.png

脱机备份与还原数据库

使用dmrman工具脱机备份

1、库备份(冷备)
image20241008152717775.png

默认的备份路径可查询dm.ini文件。一般会备份在实例的目录下,第一个红框内就是备份文件,dm.ini.dmbak是dm.ini的备份。
image20241008160510449.png

2、表空间级的还原和恢复

表空间的还原与恢复只有两个步骤:restore +recover

只支持还原和目标库是同一个库(DB_MAGIC 相同)

--还原 restore database '/dm8/data/DAMENG/dm.ini' tablespace main from backupset 'XXX'; --恢复 recover database '/dm8/data/DAMENG/dm.ini' tablespace main; --例子。主要删除表数据,然后还原和恢复 restore database '/dm8/data/DAMENG/dm.ini' tablespace main from backupset '/dm8/backup/full/CONSOLEFULLBAK'; recover database '/dm8/data/DAMENG/dm.ini' tablespace main;

3、库级的还原与恢复

库级还原恢复三部曲:restore、recover、更新数据库魔数(update db_magic)。

使用console控制台工具脱机备份和还原

首先,需要使用manager开启归档模式,配置好归档日志文件
image20241008162806803.png
image20241008162853502.png

然后,使用console工具实现备份、还原、恢复

image20241008155752655.png
image20241008160905292.png
image20241008161152054.png
image20241008161544985.png

需要提前打开数据库的归档,配置好归档文件,才能使用归档文件进行备份

归档恢复:可以恢复到故障前一刻

备份集恢复:只能恢复到备份时的时候

一定要记得更新数据库魔数,否则会报错,数据库服务会启动不起来
image20241008172018589.png

联机备份与还原数据库

--全库备份到默认路径下 backup database--全库备份到指定路径下(备份目录不带文件名) backup database fu11 backupset'备份目录'; --基于基础备份集的增量备份,并备份到指定目录 backup database increment to incrbak0l backupset"/dm8/backup/incr/incrbak01'

manager工具也可以实现备份,但不能还原和恢复
image20241008163455731.png

在console工具上配置好备份还原文件的目录,得到备份情况
image20241008163805046.png

还原与恢复的步骤与脱机一致

注意:使用console工具进行备份、还原、恢复都需要关闭服务器,否则报错
image20241008170214005.png

dexp/dimp逻辑导入导出

dexp 逻辑导出、dimp 逻辑导入四个级别:

  • 全库(full=y)
  • 按用户(owner=XXX)
  • 按模式(schemas=XXX)
  • 按表(tables=XX)
全库导出
./dexp userid=SYSDBA/\"2024@zhj\!\":5236 directory=/dm/backup/dexp
file=fu11.dmp
log=fu1l.1og full=y

按用户导出
./dexp userid=SYSDBA/\"2024@zhj\!\" :5236 directory=/dm/backup/dexp file=hr.dmp log=hr.log owner=hr

全库导入
./dimp userid=SYSDBA/\"2024@zhj\!\":5236 directory=/dm8/backup/dexp file=full.dmp log=impfull.log 
full=y

普通用户导出其他模式下表,需要有此表的 select 和 select for dump 权限。

导入SQL文件:

/*导入*/ --使用disql命令行 start /opt/scritp.sql --使用图形化工具 `/opt/scirpt.sql commit;

十三、作业管理

创建定时作业

1、创建代理环境
image20240914145218330.png

2、创建作业
image20240914145713674.png
3、配置作业

  • 常规:设置作业名,作业描述
    image20240914150139455.png

  • 作业步骤:添加作业步骤,设置步骤名称、类型、脚本语句。
    image20241014152136138.png

  • 作业调度:新建作业调度,填写调度名称,选择发生频率、每日频率、持续时间。
    image20240914150827330.png

十四、ODBC配置

考试时,压缩包在指定目录下,练习时,可以通过第三方工具将压缩包上传到虚拟机。

配置步骤

1、将压缩包解压(root用户)

tar -xvf /opt/unixODBC-2.3.0.tar.gz

2、进入odbc目录进行源码安装

cd unixODBC-2.3.0 ./configure /*configure 时可以使用--prefix 参数指定安装路径,不指定使用默认安装路径/usr/local*/ make && make install

3、修改配置文件

--进入到配置文件对应目录 cd /usr/local/etc --配置odbc.ini文件 vim odbc.ini --内容: [DM8] Description = DM ODBC DSN Driver = DM8 ODBC DRIVER --要和下面对应 SERVER = localhost UID = SYSDBA PWD = SYSDBA --这里我改了密码,我的原密码需要转义字符 TCP_PORT = 5236 --配置odbcinst.ini文件 vim odbcinst.ini --内容: [DM8 ODBC DRIVER] # 这块要和上边对应 Drscription = ODBC DRIVER FOR DM8 Driver = /dm/bin/libdodbc.so

image20241009104423555.png

4、配置环境变量

--编辑环境变量所在文件 vim ~/.bashrc --添加内容: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dm/bin:/dm/drive rs/odbc --让环境变量生效 source ~/.bashrc

5、切换dmdba用户验证(quit退出链接)
image20241009105322234.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服