培训内容包括:DM8 系列产品,DMSQL, DM 体系结构,DM8 安装,创建数据库、表、约束、索引、视图、模式等内容,以及数据库的备份恢复,作业系统,ODBC等。
1.安装
(1)规划安装用户、安装目录;
(2)设置图形化界面,切换安装用户,执行安装(期间需要以root用户执行脚本)。
#创建安装用户组:
groupadd -g dinstall
#创建安装用户:
useradd -g dinstall -m -d /dm -s /bin/bash dmdba
#初始化用户密码
passwd dmdba
#创建安装路径,并授权:
mkdir /dm
chown dmdba:dinstall -R /dm
#挂载、安装:
mount -o loop /opt/dm8xxxx.iso /mnt
./DMInstall.bin -i
2.实例创建与连接数据库
(1)按要求设置数据库名、实例名、端口号、簇大小、页大小、SYSDBA口令(期间需要以root用户执行脚本);
(2)注意端口号。
dmdba:
./dminit path=/dm/data db_name=DMDB instance_name=PROD port_num=5238 page_size=8 extent_size=16 charset=1 sysdba_pwd=Dameng123 sysauditor_pwd=Dameng123
su - root
/dm/script/root/dm_service_installer.sh -t dmserver -p PROD -dm_ini /dm/data/DMDB/dm.ini
dmdba:
/dm/bin/DmServicePROD start
3.参数修改
命令行修改sp_set_para_value
sp_set_para_value(SCOPE,'参数名',参数值);
sp_set_para_value(2,'COMPATIBLE_MODE',2);
上面这条命令前面可以加select查看结果。
SCOPE:修改范围(0:memory;1:both(memory+spfile);2:spfile) 修改内存值或者修改配置文件中的值。
检查:
select PARA_NAME,PARA_VALUE,PARA_TYPE,FILE_VALUE from v$dm_ini where para_name='参数名';
select PARA_NAME,PARA_VALUE,PARA_TYPE,FILE_VALUE from v$dm_ini where para_name='COMPATIBLE_MODE';
4.表空间
DM数据文件大小,最小值不小于页大小的4096倍;
#创建表空间
create tablespace "TBS" datafile '/dm8/data/DM/TBS/TBS01.DBF' size 64
autoextend on next 2 maxsize 10240, '/dm8/data/DM/TBS/TBS02.DBF' size 64 autoextend
on next 2 maxsize 10240 CACHE = NORMAL;
5.归档
数据库MOUNT状态可以配置归档;
#开归档
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=102400';
ALTER DATABASE OPEN;
# 检查
select STATUS$ , MODE$ from v$instance;
select ARCH_MODE from v$database;
6.用户、角色、权限、对象
(1)可为新建的数据库用户赋予VTI角色,以避免查询报错;
(2)用户的默认模式无法删除,占用中的模式无法删除,不为空的模式需要级联删除。
#用户
create user TEST identified by "Dameng123"
limit FAILED_LOGIN_ATTEMPS 5 PASSWORD_LIFE_TIME 180 PASSWORD_LOCK_TIME 3
default tablespace "TBS";
grant "PUBLIC","RESOURCE","SOI" to TEST;
grant CREATE TABLE,CREATE VIEW to TEST;
#角色
create role ROLEM;
grant "RESOURCE" to ROLEM;
grant CREATE TABLE,CREATE VIEW,CREATE INDEX to ROLEM;
grant SELECT (hire_date) on DMHR.EMPLOYEE to ROLEM;
grant select (employee_name) on dmhr.employee to ROLEM;
grant SELECT on DMHR.DEPARTMENT to ROLEM;
grant UPDATE (PHONE_NUM)on DMHR.EMPLOYEE to ROLEM;
将rolem 角色授予给TEST用户
grant rolem to test;
角色的禁用和启用 1:启用 0禁用
SP_SET_ROLE('ROLEM',0);
SP_SET_ROLE('ROLEM',1);
7.表、约束、索引、视图
(1)使用管理工具创建表,建议名称统一使用大写
8.备份与还原
物理备份-热备(联机)
要求:DMAP 服务是打开的,数据库实例也是打开的,数据库是归档模式
检查状态:
select name,arch_mode from v$database;
#热备份
backup database full backupset '/dm/backup/fullbak02';
backup database increment backupset '/dm/backup/icrbak02';
#逻辑备份
dexp、dimp
库级
/dm/bin/dexp sysdba/Dameng123 DIRECTORY=/dm/backup FILE=full.dmp FULL=Y LOG=full.log
用户级
/dm/bin/dexp sysdba/Dameng123 DIRECTORY=/dm/backup FILE=test.dmp OWNER=TEST LOG=test.log
模式级
/dm/bin/dexp SYSDBA/Dameng123 DIRECTORY=/dm/backup FILE=dmhr.dmp SCHEMAS=DMHR LOG=dmhr.log
表级
/dm/bin/dexp SYSDBA/Dameng123 DIRECTORY=/dm/backup FILE=job.dmp TABLES=DMHR.JOB LOG=job.log
9.作业
(1)作业创建时,名称、参数要严格按照试题要求。
第一步:代理(右击)-创建代理环境
SP_INIT_JOB_SYS(1);
作业(右击)-新建作业
案例1:新建作业JOB1,每周天,周三晚上1:00做数据库全备
添加作业步骤
新建作业调度
call SP_CREATE_JOB('JOB1',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('JOB1');
call SP_ADD_JOB_STEP_EX('JOB1', 'B1', 6, '00000000/dm/data/DAMENG/bak', 0, 0, 0, 0, NULL, 0, '');
call SP_ADD_JOB_SCHEDULE('JOB1', 'D1', 1, 2, 1, 9, 0, '01:00:00', NULL, '2025-08-20 16:20:29', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB1');
案例2:新建作业JOB2,每周一、二、四、五、六1:00对数据库做增量备份
call SP_CREATE_JOB('JOB2',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('JOB2');
call SP_ADD_JOB_STEP_EX('JOB2', 'B2', 6, '10000000/dm/data/DAMENG/bak', 0, 0, 0, 0, NULL, 0, '');
call SP_ADD_JOB_SCHEDULE('JOB2', 'D2', 1, 2, 1, 118, 0, '01:00:00', NULL, '2025-08-20 16:25:16', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB2');
10.ODBC
测试连接用dmdba用户执行,用root执行会因为环境变量报错;
root:
cd /opt
tar -xzvf unixODBC...tar.gz
cd ./unixODBC...
./configure
make && make install
odbcinst -j
cd /usr/local/etc/
opt目录下有模板,要修改odbcinst.ini和odbc.ini
vi odbc.ini
[dm]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5238
vi odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm/bin/libdodbc.so (bin目录下和/dm/drivers/odbc/libdodbc.so两个位置都有)
su - dmdba
isql dm
文章
阅读量
获赞