环境检查(root用户)
uname -a
rpm -aq | grep glibc*
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
iptables -L
iptables -F
vi /etc/sysconfig/selinux
----selinux 策略改为disable
一、安装数据库软件(dmdba安装)
先建立dmdba用户以及安装路径:
mkdir /dm8
groupadd dinstall
useradd -g dinstall dmdba
passwd dmdba
chown dmdba:dinstall -R /dm8
环境变量:
su - dmdba
cat .bash_profile
vi .bash_profile
添加或修改如下变量:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export DM_HOME=/dm8
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
source .bash_profile --修改文件后重新加载文件立即生效
echo $DM_HOME --验证环境变量
--在vi编辑器中,你可以使用:q退出,使用:w保存文件,使用:wq保存并退出,或者使用:q!强制退出而不保存更改。
安装数据库:
------------上传安装包准备安装(考试机器opt目录已有)
su - root
mount -o loop /opt/dm8_20231109_x86_kylin10_64.iso /mnt
---扩展 tmp 空间(方法一)
mount -o remount,size=4G /tmp
---扩展 tmp 空间(方法二)
cd
mkdir tmp
export DM_INSTALL_TMPDIR=/home/dmdba/tmp
-----界面安装
su - dmdba
export DISPLAY=:0.0
xhost +
cd /mnt
./DMInstall.bin
--命令安装(不推荐)
./DMInstall.bin -i
安装数据库实例:
-----界面安装
su - dmdba
cd /dm8/tool/
./dbca.sh
-----安装数据库实例(命令安装)
cd /dm8/bin
./dminit path=/dm8/data
----------命令安装注册服务 root用户
su - root
cd /dm8/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DAMENG
--开启服务
systemctl start DmServiceDAMENG.service
--启用
systemctl enable DmServiceDAMENG.service
--查看状态
systemctl status DmServiceDAMENG.service
二、 启停实例:
su - root
cd /dm8/tool/
./dmservice.sh
---数据库启动、停止
cd /dm8/bin
./DmServiceDAMENG start
systemctl start DmServiceDAMENG.service
./DmServiceDAMENG stop
./DmServiceDAMENG restart
./DmServiceDAMENG status
三、表空间创建及管理
--界面
cd /dm8/tool
./manager
--SYSDBA登录后选择表空间创建表空间、添加数据文件按要求设置文件大小自动扩展大小等等。(如 TEST 数据文件位于 /dm8/data/DAMENG/TEST.DBF)
--数据库管理
----chown dmdba:dinstall -R /dm8/tool/workspace/ 如果报错没写入权限(root)
--一些sql查询语句在管理器中执行
--table space
select TABLESPACE_NAME,STATUS from user_tablespaces;
select * from user_tablespaces;
--data file
select FILE_NAME,FILE_ID,STATUS,TABLESPACE_NAME, BYTES/1024/1024 AS SIZE
from SYS.DBA_DATA_FILES;
--create table space
create TABLESPACE "test02"
DATAFILE '/dm8/data/DAMENG/test02_01.DBF' SIZE 200 autoextend on NEXT 1,
'/dm8/data/DAMENG/test02_02.DBF' SIZE 200 autoextend on NEXT 1 CACHE=NORMAL;
--alter tablespace status 0 normal 1 offline
alter TABLESPACE "test01" offline;
alter TABLESPACE "test01" ONLINE;
--add datafile
alter TABLESPACE "test02" add datafile '/dm8/data/DAMENG/test02_03.DBF' size 200 autoextend on;
--alter tablespace store path
alter TABLESPACE "test02" offline;
alter TABLESPACE "test02" rename datafile '/dm8/data/DAMENG/test02_01.DBF' TO '/dm8/test02_01.DBF';
alter TABLESPACE "test02" online;
--alter buffer type
alter TABLESPACE "test02" cache ="KEEP";
--drop tablespace
Drop tablespace "test02";
四、角色创建管理
--界面
cd /dm8/tool
./manager
---选中“角色”-右键弹出“新建角色”(如 KF 并设置系统权限和对象权限)
--如何将角色赋给用户
选择已经创建得角色,右键选择“角色分发”选择相应用户确定即可
五、用户创建管理
--界面
cd /dm8/tool
./manager
---用户---管理用户--新建用户--选择表空间、角色权限等相关信息后确定。
--相关一些sql语句
---用户与角色
select * from DBA_ROLE_PRIVS WHERE GRANTEE='TEST';
SELECT * from DBA_SYS_PRIVS where GRANTEE='TEST';
select * from DBA_TAB_PRIVS where GRANTEE='TEST';
SELECT * from DBA_USERS where USERNAME='TEST';
select * from SYSUSERS where ID='50331748'
create role "KFROLE";
grant "PUBLIC","RESOURCE","SOI","SVI","VTI" to "KFROLE";
grant CREATE TABLE,CREATE VIEW to "KFROLE";
Drop user test;
Drop user test cascade;-----慎重,最好先备份
Drop role kfrole;
角色禁用可在界面中操作-选择某一个角色右键启用和禁用
命令操作角色的禁用和启用 1:启用 0 禁用
SP_SET_ROLE(‘ROLE1’,1);
六、权限管理(系统权限+对象权限)
a.此地址的介绍进行用户权限管理(系统权限+对象权限):
https://eco.dameng.com/document/dm/zh-cn/start/dm-authorization.html
七、表创建和管理(主外键,各种约束,索引)
--界面
cd /dm8/tool
./manager
---选择模式---如 TEST -表--右键--新建表--添加列
---选择表-键、约束、索引右键可以新建外键、检查约束、索引
参考:https://eco.dameng.com/document/dm/zh-cn/start/dm-create-objects.html
八、创建视图
--界面
cd /dm8/tool
./manager
create or replace VIEW dmhr.v_city AS
SELECT
city_id ,
city_name ,
region_id
FROM
dmhr.city
WHERE
region_id < 4;
参考:https://eco.dameng.com/document/dm/zh-cn/start/dm-create-objects.html
九、数据导入
----管理器中插入
CREATE TABLE dmhr.test
AS
SELECT employee_id,
employee_name,
identity_card,
salary,
department_id
FROM dmhr.employee
WHERE 1 = 2;
--多条
INSERT INTO dmhr.test
VALUES
(1109, '程东生', '410107197103252999', 4400, 102),
(1110, '王金玉', '410107197103258999', 4300, 102),
(1111, '程东生', '410107197103252999', 4400, 102);
COMMIT;
SELECT * FROM dmhr.test;
--数据迁移工具
cd /dm8/tool
./dts
----新建迁移 sql脚本---dm8 (可以在管理器中写好sql保存文件到指定路径即可)
https://eco.dameng.com/document/dm/zh-cn/sql-dev/practice-dml-operation.html
十、开档归档
a.查询开归档情况:SELECT NAME STATUS$,ARCH MODE FROM V$DATABASE
b.图形化设置界面:实例名称上右键-管理服务器-系统管理
c.勾选配置-转换-归档配置-添加归档-确定即可(归档目标可以填写/dm8/dmarch)
d.确定后再次进入系统管理勾选打开点击转换后确定即可
e.再查询开归档情况:SELECT NAME STATUS$,ARCH MODE FROM V$DATABASE
--归档参数文件:dmarch.ini
----归档日志文件 对redo日志的归档,可以用来恢复
select * from v$dm_arch_ini;
---重做日志(redo log)
select * from v$rlogfile;
---增加重做日志:
alter database add logfile '/dm8/data/DAMENG/DAMENG03.log' size 256;
---修改重做日志文件大小
alter database resize logfile '/dm8/data/DAMENG/DAMENG03.log' to 512;
修改联机日志文件路径(迁移联机日志文件)
alter database mount;
alter database RENAME LOGFILE 'DM01.log' TO '/dm8/data/DM/REDO/DM01.log';
alter database RENAME LOGFILE 'DM02.log' TO '/dm8/data/DM/REDO/DM02.log';
alter database RENAME LOGFILE 'DM03.log' TO '/dm8/data/DM/REDO/DM03.log';
alter database open;
------命令操作开启归档日志(可以使用界面操作如上述a-e操作)
su - dmdba
mkdir /dm8/dmarch
SQL> alter database mount;
SQL>alter database add archivelog 'DEST=/dm8/dmarch,TYPE=local,FILE_SIZE=256,space_limit=0';
SQL> alter database archivelog;
SQL> alter database open;
SQL> select * from v$database;
SQL> select * from v$dm_arch_ini;
SQL>select arch_mode from v$database;
---跟踪日志
DM.INI SVR_LOG 参数为 1 的时候,就是打开了跟踪日志0 关闭了跟踪日志
---roll表空间大小修改
alter tablespace ROLL resize datafile '/dm8/data/DAMENG/ROLL.DBF' TO 256;
十一、物理备份和还原(联机备份与还原,脱机备份与还原)
冷备 脱机备份与还原
su - root
cd /dm8/tool
./dmservice.sh
--打开界面后停止数据库实例后关闭界面
--备份和还原一定要用dmdba用户!!
su - dmdba
./console
--新建完整备份和增量备份
数据库脱机还原
参考:
https://eco.dameng.com/document/dm/zh-cn/ops/physical-backup-restore.html#4.4%20%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%B7%A5%E5%85%B7%E8%BF%9B%E8%A1%8C%E8%84%B1%E6%9C%BA%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F
热备 联机备份与还原
热备:DMAP 服务是打开的,数据库实例也是打开的,数据库是归档模式。
联机备份与还原(注:库备份和表空间备份不支持联机还原,只有表备份支持联机还原。表还原过程中表空间中其他的表可以正常操作。)
--直接在管理器中操作
可以先备份表,再模拟删除表,最后进行表备份还原即可。
参考:
https://eco.dameng.com/document/dm/zh-cn/ops/physical-backup-restore.html#3.4.1%20%E6%95%B0%E6%8D%AE%E5%A4%87%E4%BB%BD
十二、逻辑备份和还原
导入导出(dexp dimp) oracle exp imp impdp expdp
分四级别:分别独立,互斥,不能同时存在
数据库级别:导出或导入整个数据库中的所有对象
用户:导出或导入一个或多个用户所拥有的所有对象
模式:导出或导入一个或多个模式下的所有对象
表级:导出或导入一个或多个指定表或表分区。
可以再新建一个数据库实例如 DMTEST 端口号 5239
su - dmdba
./manager
逻辑导出
选择默认的数据库服务器DAMENG右键导出;
导出目录可以选择逻辑导出的文件存储位置; eg: /dm8/dexp
逻辑导入
选择新的实例DMTEST右键导入
参考:
https://eco.dameng.com/document/dm/zh-cn/ops/logical-backup-restore.html#%E5%9B%9B%E3%80%81%E4%BD%BF%E7%94%A8%E5%9B%BE%E5%BD%A2%E5%8C%96%E5%B7%A5%E5%85%B7%E8%BF%9B%E8%A1%8C%E9%80%BB%E8%BE%91%E5%AF%BC%E5%85%A5%E5%AF%BC%E5%87%BA
十三、修改参数
cd /dm8/tool
./console
兼容性参数:COMPA 如数据库兼容方式
虚拟表空间:TEMP 临时表空间等
数据缓冲区:BUFFER 数据缓冲区大小
也可以进入管理器中修改
cd /dm8/tool
./manager
--memory
select * from v$dm_ini where para_name like '%MEMORY%';
--buffer
select * from v$dm_ini where para_name like '%BUFFER%';
--modify args must restart db instance
sp_set_para_value(2,'BUFFER',1024);
sp_set_para_value(2,'MAX_BUFFER',1024);
--dict bufferALTER
select * from v$dm_ini where para_name like '%DICT_BUF_SIZE%';
--在等待线程信息
select *from V$latches;
--当前系统中所有活的线程信息
select *from V$threads;
DM:SP_SET_PARA_VALUES(SCOPE,PARA_NAME,PARA_VALUE);
Scope:1:动态参数2:静态参数(infile 要重启实例)
select * from v$DATABASE;
查询temp表空间参数,达梦数据库启动的时候会根据这几个参数来创建或重建temp表空间。
select name,value,type from v$parameter where name like 'TEMP%';
TEMP_PATH:temp表空间的路径
TEMP_SIZE:temp表空间的初始值,单位为MB
TEMP_SPACE_LIMIT:temp表空间的空间限制,0表示不限制
临时表空间不足修改大小(需重启实例)
sp_set_para_value(2,'TEMP_SIZE',256);
----用root进入服务管理界面重启实例参数即可生效
su - root
cd /dm8/tool/
./dmservice.sh
--密码策略(管理器执行sql立即生效)
select name,value,type from v$parameter where name like 'PWD%';
SP_SET_PARA_VALUE(1, 'PWD_POLICY',8);
0 无限制。但总长度不得超过 48 个字节
1 禁止与用户名相同
2 口令长度需大于等于 INI 参数 PWD_MIN_LEN 设置的值
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号
十四、创建作业
a.参照上面《表空间创建及管理》的a-d步骤(注:如果已打开查询分析器,则可以忽略。)
b.根据此地址的介绍进行创建作业:
https://eco.dameng.com/document/dm/zh-cn/ops/physical-backup-restore.html#3.1.2%20%E5%AE%9A%E6%97%B6%E5%A4%87%E4%BB%BD
创建代理环境——新建作业
--查看job
select * from sysjob.sysjobs;
--运行job
dbms_job.run(1640162093);
十五、ODBC配置
下载安装包(考试机器opt目录已有)
https://www.unixodbc.org/unixODBC-2.3.0.tar.gz
先用root安装和配置
cd /opt
tar -xzvf unixODBC-2.3.0.tar.gz
配置并安装:
cd unixODBC-2.3.0/
./configure
make && make install
find / -name libodbcinst.so
odbcinst -j
[root@localhost unixODBC-2.3.0]# cd /usr/local/etc/
[root@localhost etc]# vi odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
--注意UID = SYSDBA PWD = SYSDBA 按设置得用户名和密码填写
[root@localhost etc]# vi odbc.ini
[dm8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
=======================================
vi /etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
vi /etc/odbc.ini
--注意UID = SYSDBA PWD = SYSDBA 按设置得用户名和密码填写
[dm8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
加载配置文件(可选):
odbcinst -i -d -f /etc/odbc.ini
odbcinst -i -s -l -f /etc/odbc.ini
=============================================
必须切换到dmdba用户使用
su - dmdba
isql -v dm8
注意如果连不上 Data source name not found, and no default driver specified
很有可能odbc.ini和odbcinst.ini内容有问题
切换回root用户用 cat命令检查内容
vi命令直接修改目录/usr/local/etc/odbc.ini 和/usr/local/etc/odbcinst.in
su - dmdba
isql -v dm8
文章
阅读量
获赞