达梦数据库学习笔记
介绍
DM7 是达梦数据库有限公司推出的新一代高性能数据库产品。它具有开放的、可扩展
的体系结构,易于使用的事务处理系统,以及低廉的维护成本,是达梦公司完全自主开发的
产品。DM7 以 RDBMS 为核心,以 SQL 为标准,是一个能跨越多种软硬件平台、具有大型
数据综合管理能力的、高效稳定的通用数据库管理系统。
数据库访问是数据库应用系统中非常重要的组成部分。DM 作为一个通用数据库管理系
统,提供了多种数据库访问接口,包括 ODBC、JDBC、DPI、OLEDB 以及嵌入方式等。
DM7安装
查看操作系统
cat /etc/issue
uname -a
cat /etc/redhat-release
检查环境
rpm -aq|grep glibc
rpm -aq|grep gcc
规划安装路径
磁盘 fdisk -l
查看空间大小:df -h
查看内存free -m
创建安装路径
mkdir /dm7
【检查:ll】
规划用户
id dmdba
groupadd dinstall
useradd -g dinstall dmdba
passwd dmdba (密码dameng123)
chown dmdba:dinstall -R /dm7
【检查:cat /etc/passwd|grep dmdba】
配置环境变量(可选项)
[root@dca01 ~]# cd /home/dmdba
[root@dca01 dmdba]# vi .bash_profile
–添加一下内容
export DM_HOME=/dm7
export PATH= D M H O M E / b i n : DM_HOME/bin: DMHOME/bin:DM_HOME/tool:KaTeX parse error: Expected 'EOF', got '#' at position 35: …ot@dca01 dmdba]#̲ vi /etc/securi…PATH: D M H O M E / b i n : DM_HOME/bin: DMHOME/bin:DM_HOME/tool
【检查】
[dmdba@dca01 ~]$ source .bash_profile
su - dmdba
echo $DM_HOME
创建数据库
图形化创建:【dm7–desktop–client–数据库配置助手】
–创建注意事项
路径 /dm7/data
sysdba 的密码
日志文件个数
数据库兼容模式:【dm7–desktop–client–DM控制台工具】
compatible_mode:0-不兼容2-兼容oracle 3-兼容sqlserver4-兼容mysql
创建表空间
图形化维护【dm7–desktop–client–DM管理工具】
如何去规划表空间及相关案例;
SQL> select name from v$tablespace;
案例1:
SQL> create tablespace tbs1 datafile ‘/dm7/data/DAMENG/tbs1_01.dbf’ size 32;
–初始文件大小是页大小的4096倍。
案例2:创建一个表空间,初始大小50M,最大100M
SQL> create tablespace tbs2 datafile ‘/dm7/data/DAMENG/tbs2_01.dbf’ size 50 autoextend on maxsize 100;
案例3:建一个表空间,初始大小50M,每次扩展1M,最大100M
SQL> create tablespace tbs2 datafile ‘/dm7/data/DAMENG/tbs3_01.dbf’ size 50 autoextend on next 1 maxsize 100;
案例4:建一个表空间,初始大小50M,表空间由2个数据文件组成,分别存储到不同的磁盘上,每次扩展1M,每个数据文件最大100M
SQL> create tablespace tbs4 datafile '/dm7/data/DAMENG/tbs4_01.dbf' size 50 autoextend on next 1 maxsize 100, '/dm7/data/tbs4_02.dbf' size 50 autoextend on next 1 maxsize 100;
创建用户
图形化维护【dm7–desktop–client–DM管理工具】
如何规划用户?
案例1:为数据库设置一个用户test,该账户,可以创建自己的表,有属于自己的独立表空间,用户密码要求每60天变更一次。
SQL> create tablespace test datafile ‘/dm7/data/DAMENG/test01.dbf’ size 32;
SQL> create user test identified by dameng123 limit password_life_time 60 default tablespace test;
–登录test账户
SQL> conn test/dameng123
–查看当前账户
SQL> select user;
建表管理表
图形化维护【dm7–desktop–client–DM管理工具】
达梦支持那些表:
默认的表索引组织表,支持堆表,临时表,分区表,外部表等等。
如何规划表:
命令:字母开头,a-z,0-9,$#_
数据类型:int char varchar date clob blob number等等。
存储位置,自已规划的表空间。
约束(5大约束)非空约束,唯一约束,主键,检查,外键
CREATE TABLE “TEST”.“STU”(
“ID” CHAR(10) NOT NULL,
“SNAME” VARCHAR(20) NOT NULL,
“SEX” CHAR(1),
“AGE” INT,
“TEL” VARCHAR(15),
“ADDRESS” VARCHAR(50) NOT NULL,
NOT CLUSTER PRIMARY KEY(“ID”)) STORAGE(ON “MAIN”, CLUSTERBTR) ;
备份还原
新建备份路径和日志归档路径
mkdir /dm7/backup
mkdir/dm7/arch
【开启归档】
–1、命令方式:
SQL> alter database mount;
SQL> alter database add archivelog ‘type=local,dest=/dm7/arch,file_size=64,space_limit=0’;
SQL> alter database archivelog;
SQL> alter database open;
–2、利用【DM管理工具】开归档
根节点–右击–管理服务器–系统管理、归档配置
–查询是否开启归档
SQL> select name ,arch_mode from v$database;
【热备】
–命令方式下全备,增量备(考试的时候用这种方式)
SQL> backup database full backupset ‘/dm7/backup/full_bak2’;
–查看备份文件
–命令方式下增量备份
SQL> select checkpoint(0);
SQL> backup database increment backupset ‘/dm7/backup/incr_bak’;
–利用【DM管理工具】做热备
根路径–右击–备份–库备份–指定工作目录、新建备份(记住备份文件名称)
ODBC配置
解压tar包
su - root
cd /installdoc
解tar包
[root@dca01 installdoc]# tar -xzvf unixODBC-2.3.0.tar.gz
[root@dca01 installdoc]# cd unixODBC-2.3.0
配置ODBC
[root@dca01 unixODBC-2.3.0]# ./configure --enable-gui=no
编译ODBC
[root@dca01 unixODBC-2.3.0]# make
[root@dca01 unixODBC-2.3.0]# make install
查看odbc版本
[root@dca01 unixODBC-2.3.0]# odbc_config --version
查看odbc配置文件的路径
[root@dca01 unixODBC-2.3.0]# odbc_config --odbcini
/usr/local/etc/odbc.ini
–查看odbc详细
[root@dca01 unixODBC-2.3.0]# odbcinst -j
配置ODBC.ini和odbcinst.ini
cd /usr/local/etc/
cat odbc.ini
vi odbc.ini
–内容如下
[dm7]
Desription = DM ODBC DSND
Driver = DM7 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = dameng123
TCP_PORT = 5236
vi odbcinst.ini
–内容如下
[DM7 ODBC DRIVER]
Desription = ODBC DRIVER FOR DM7
DRIVER = /dm7/bin/libdodbc.so
–测试ODBC:
chmod 775 odbcinst.ini
chmod 775 odbc.ini
su - dmdba
isql dm7
【常用表】
disql sysdba/dameng123@localhost:5237
conn sysdba@dameng123
参数:v p a r a m e t e r 数 据 库 配 置 : v parameter 数据库配置:v parameter数据库配置:vdm_ini
进程:v p r o c e s s 线 程 : v process 线程:v process线程:vthreads
表空间:dba_tablespaces ,v t a b l e s p a c e 用 户 : s e l e c t ∗ f r o m d b a u s e r s ; s y s u s e r , a l l u s e r s , d b a u s e r s 当 前 账 户 : s e l e c t u s e r 角 色 : s e l e c t r o l e f r o m d b a r o l e s ; 查 看 账 户 权 限 : s e l e c t g r a n t e e , g r a n t e d r o l e f r o m d b a r o l e p r i v s w h e r e g r a n t e e = ′ T E S T 1 ′ 字 段 注 释 : s e l e c t ∗ f r o m d b a c o l c o m m e n t s ; 序 列 : s e l e c t ∗ f r o m d b a s e q u e n c e s 试 图 : d b a v i e w s 查 询 数 据 库 备 份 : s e l e c t b a c k u p n a m e , b a c k u p p a t h f r o m v tablespace 用户: select * from dba_users; sysuser, all_users, dba_users 当前账户:select user 角色:select role from dba_roles; 查看账户权限:select grantee,granted_role from dba_role_privs where grantee='TEST1' 字段注释:select * from dba_col_comments; 序列:select * from dba_sequences 试图:dba_views 查询数据库备份:select backup_name,backup_path from v tablespace用户:select∗fromdbausers;sysuser,allusers,dbausers当前账户:selectuser角色:selectrolefromdbaroles;查看账户权限:selectgrantee,grantedrolefromdbaroleprivswheregrantee=′TEST1′字段注释:select∗fromdbacolcomments;序列:select∗fromdbasequences试图:dbaviews查询数据库备份:selectbackupname,backuppathfromvbackupset