达梦安装和创建、连接和删除实例、运用语句、以及心得体会

  • Post author:
  • Post category:其他



一.安装达梦须知

1.DM8 web 安装站点

https://www.dameng.com

2.配置DM8安装环境

(1)基本硬件要求

CPU:英特尔4以上的处理器

内存:安装数据库建议最小内存1G,Linux服务器swap分区为物理内存1.5倍以上

(2)网络需求

网卡:100M以上支持TCP/IP协议的网卡

(3) 系统要求:

Linux 2.3以上,内核2.6,已安装KDE/GNOME桌面环境

(4)安装前注意事项

若系统中已安装DM,重新安装前,应完全卸载原来的数据库系统。并且在重新安装前,务必备份好数据

作为服务器的每台计算机必须安装DM服务器组件,只作为客户机的计算机不必安装服务器组件


二.创建达梦数据库实例

1.安装好DM8后,打开终端。

2.按照上方步骤打开到

dbca.sh


3.开始配置适合自己需求的数据库实例                         选择一般用途


4. 路径自己选择                                                              名字可以改动,端口号要记住


5. 设置数据库初始化参数:页大小、簇大小、字符集、一旦设置,创建数据库完成将无法更改。         页:数据库最小的存储单元 ;

簇:数据库最小的分配单元;

字符集:GB18030(一个中文占用两个字符)、UTF- 8(一个中文占用三个字符)等。


6.输入的


口令要记住


,后面连接数据库,需要用口令。

7.输入口令,完成之后就可以创建开始创建实例了


三.连接达梦数据库实例

1.跟创建实例一样,先连接好端口号后,进入到

dm8/tool

文件下,打开

manager

2.进入后,连接SYSDBA(管理员用户)

3.输入你原来设置的端口号和口令,就连接上了。


四.删除达梦数据库实例

1.跟创建数据库实例一样,先打开

dbca.sh

2.选择删除数据库实例

3.选择你要删除的实例名

4.这里可以看到,你要删除的实例名信息,请检查一遍,完成删除就行。


学习心得


近几年,国内的网络安全意识已经上升到了国家战略,保障网络安全也就是保障国家主权。自主可控是保障国家安全、信息安全的前提。实现自主可控也就是在核心技术、关键技术、各类软件国产化,自己研发制造,不受制于人。

达梦数据库作为优秀的国产数据库,深度兼容oracle,与oracle存在一些关系但又在某些方面更加人性化,可以做到快速替换国外数据库,在很多大型的国有企业已经稳定运行多年,深受企事业单位和政府支持。如今我也加入学习达梦数据库的一员,为加快国产化进程,早日实现国产替代和自主可控打下坚实的专业基础。

经过一段时间的学习及达梦老师的专业培训,收获颇多,但是由于初次接触达梦数据库,对于很多方面还仅仅是表面功夫,还需要继续深入学习,现将学习总结如下:

1、优化操作系统

ulimit -a   检查open file 最大打开数,默认是1024,需要扩充

需重启方式:vi /etc/security/limits.conf    ,加入下面两行

*  soft   nofile   102400

*  hard   nofile   102400

不需重启方式:ulimit -HSn 102400

2.安装数据库前的准备工作

增加组:groupadd dinstall

增加用户:useradd -g dinstall dmdba

创建用户密码:passwd dmdba

创建数据库安装路径,并赋权:mkdir /dm8   ,chown -R dmdba:dinstall /dm8

切换dmdba用户。 su – dmdba

配置dmdba用户环境变量:   vi .bash_profile,底部加入:

export DM_HOME=/dm8

export PAHT=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin:$DM_HOME/tool

3.安装数据库

cd /opt/mnt

声明环境变量:export DISPLAY=127.0.0.1:2

打开图形化界面:xhost +

执行安装命令:./DMInstall.bin

全部下一步执行即可,安装目录直接选dm8

切换root用户:su – root

然后打开新的命令行,执行:/dm8/script/root/root_installer.sh,然后关闭

4.初始化数据库

直接接着图形化界面操作,或者切换用户:su – dmdba,然后使用后台命令:./dm8/tool/dbca.sh

点击下一步的操作即可,默认端口是5236

输入自己的账号密码,选择创建上两个示例库

切换root用户:su – root

然后打开新的命令行,执行初始化过程中的3个命令,将数据库加入操作系统服务中,然后关闭

5.连接数据库

su – dmdba

非图形界面方式:disql sysdba/自己的密码@localhost:5236 ,如果登陆不上,就打:LOGIN,然后输入用户名密码之类

图形界面方式:/dm/tool/manager

6.操作表空间

(1)命令创建表空间:

create tablespace “TEST” datafile ‘/dm8/data/DAMENG/TBS01.DBF’ size 32 autoextend on next 1 CACHE = NORMAL;

(2)表空间状态变更,脱机和在线:

alter tablespace TEST offline;

alter tablespace TEST online;

(3)表空间修改大小:

alter tablespace “TEST” resize datafile ‘TBS01.DBF’ to 64;

(4)查看表空间数据文件有多少个

select FILE_NAME,STATUS,TABLESPACE_NAME from dba_data_files;

(5)增加表空间数据文件:

alter tablespace “TEST” add datafile ‘/dm8/data/DAMENG/TBS02.DBF’ size 64;

(6)更换数据文件存储的位置

①:alter tablespace  “TEST” offline;

②:select tablespace_name,status from dba_tablespaces;

③:alter tablespace  “TEST” rename datafile ‘/dm8/data/DAMENG/TBS02.DBF’ to ‘/dm8/tbs02.dbf’;

④:alter tablespace  “TEST” rename datafile ‘/dm8/data/DAMENG/TBS02.DBF’ to ‘/dm8/tbs01.dbf’;

⑤:alter tablespace  “TEST” online;

(7)临时表空间

select para_name,para_value from v$dm_ini where para_name like ‘TEMP%’;

(8)Roll表空间

alter tablespace roll resize datafile ‘/dm8/data/DAMENG/ROLL.DBF’ to 256;

(9)删除表空间:drop tablespace “TEST”;

7.用户管理操作

(1)删除用户:级联删除(schema都会删除)drop user test cascade; 只删除账号:drop user test;

(2)查看test用户有哪些权限:select grantee,granted_role from SYS.DBA_ROLE_PRIVS where grantee=’TEST’;

(3)查看public角色有哪些权限:SELECT GRANTEE,PRIVILEGE FROM SYS.DBA_SYS_PRIVS WHERE GRANTEE=’PUBLIC’;

实验1:建立用户test,用户可以创建自己的表,有属于自己的表空间,用户密码要求每60 天变更一次。

create user “TEST” identified by “dameng123” limit password_life_time 60 default tablespace “TEST”;

grant “PUBLIC”,”VTI” to “TEST”;

grant CREATE TABLE to “TEST”;

实验2:规划一个用户test2,用户每60 天变更一次密码,密码尝试连接2 次失败,账号锁定5 分钟,用户能查询dmhr.employee 表

create user “TEST2” identified by “dameng123” limit failed_login_attemps 2, password_life_time 60, password_lock_time 5;

grant “PUBLIC”,”VTI” to “TEST2”;

grant SELECT on “DMHR”.”EMPLOYEE” to “TEST2”;

实验3:企业招聘一批录入人员,权限固定,只能录入city 表的权限。角色:一组固定权限的集合。

create role “TESTROLE3”;

grant REFERENCES ANY TABLE to “TESTROLE3”;

grant INSERT on “DMHR”.”CITY” to “TESTROLE3”;

grant “TESTROLE3” to “TEST2”;

8.表及模式相关管理

(1)创建表:

create table “TEST”.”STU”(“ID” CHAR(10) not null,”SNAME” VARCHAR(20) not null ,primary key(“ID”)) storage(initial 1, next 1, minextents 1,fillfactor 0, on “STU”);

comment on table “TEST”.”STU” is ‘STUDENT INFO’;

(2)增加列:alter table DMHR.TEST add column(AGE INT); 删除列:alter table DMHR.TEST drop column AGE;

(3)创建模式指定约束(先创建表)

非空约束:create table test.t1(id int); alter table test.t1 modify id int not null;

唯一约束:create table test.t3(id int, name varchar(20) unique);

主键约束:create table test.t4(id int primary key, name varchar(20));

检查约束:create table test.t6(id int check(id>=5));

外健约束(外键一定是其他表的主键):create table test.t9(id int primary key,sid int foreign key references test.t8(sid));

(4)列加备注:comment on column test.t8.sid is ‘测试’;

(5)导入数据

create table test.t10(sid int);

制造数据:vi test.sql,insert into test.t10(sid) values(1);insert into test.t10(sid) values(2);

导入:在SQL模式下:SQL> start /home/dmdba/test.sql

(6)重命名: alter table test.t1 rename to tt;

(7)启用和禁用约束:

select CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,STATUS from dba_constraints where TABLE_NAME=’T3′;

设置成不可用:alter table test.t3 disable constraint CONS134218845;

设置成可用:alter table test.t3 enable constraint CONS134218845;

(8)删除表:drop table test.tt;

9.视图及索引管理

(1)创建视图:

创建语法:create view test.v1 as select * from dmhr.employee;

修改语法:create or replace view test.v1 as select employee_name from dmhr.employee limit 5;

(2)删除视图:drop view test.v1;

(3)查询视图:DBA_VIEWS;

(4)查看索引:select table_name,index_name from dba_indexes where table_name=’STU’;

(5)创建索引:

1、创建索引表空间: create tablespace index1 datafile ‘/dm8/data/DAMENG/index1_01.dbf’ size 32;

2、 创建索引:create index ind_emp on test.emp(employee_id) tablespace index1;

3、查看执行计划:explain select * from test.emp where employee_id<20;

4、收集统计信息:begin  dbms_stats.gather_table_stats(‘TEST’,’EMP’); END;

5、重建索引:alter index test.ind_emp rebuild;

6、删除索引:drop index test.ind_emp;

10.备份及还原

(1)热备(工具方式,先跑bin底下的 dmap服务):

1、数据库实例右键:管理服务器;

2、系统管理-配置-转换-确定

3、归档配置-归档-选择文件路径-确定

4、系统管理-打开-转换-确定

5、数据库实例-备份右键-指定工作目录

6、数据库实例-备份右键-新建备份

全量:backup database full backupset ‘/dm8/backup/fullbak2’;

增量:backup database increment backupset ‘/dm8/backup/incr_bak’;

(2)还原,使用Dmrman,打开bin下的dmrman服务,弹出DMAN窗口

1、校验备份:check backupset ‘/dm8/backup/fullbak2’;

2、还原备份:estore database ‘/dm8/data/DAMENG/dm.ini’ tablespace test from backupset ‘/dm8/backup/fullbak2’;

(3)恢复表空间:recover database ‘/dm8/data/DAMENG/dm.ini’ tablespace test;

(4)重启数据库实例服务:systemctl stop DmServiceDMSERVER.service; systemctl start DmServiceDMSERVER.service;

(5)冷备份(控制台)

1、用dmdba用户打开bin下面的:./console

2、备份还原-勾选掉DMAP模式-右侧新建备份

3、备份失败要关闭数据库实例服务:systemctl stop DmServiceDMSERVER.service

4、还原-恢复-更新DB_magic

5、systemctl start DmServiceDMSERVER.service;

(6)逻辑备份:

导出:./dexp SYSDBA/SYSDBA@192.168.74.136:5236 file=dexp01.dmp log=dexp01.log directory=/opt/tools/dm/bakup full=y

导入:./dimp SYSDBA/SYSDBA@192.168.74.136:5236 file=/opt/tools/dm/bakup/dexp01.dmp log=/opt/tools/dm/bakup/dimp01.log SCHEMAS=TEST

以上就是近期学习达梦数据库的一些总结, 整体来说,达梦数据库是目前TOP级的国产关系型数据库,已经在较多领域广泛使用。虽然在某些方面还与oracle存在一定的差距,但是相信在不久的将来,达梦数据库的影响力会逐步扩大并替代oracle数据库,在国内的数据库领域独树一帜,越做越强,并引领国产数据库发扬光大。

最后,祝愿达梦数据库发展越来越好,我们在项目中的使用就会更加便捷放心,共同为国产软件的进步贡献一份力量。



版权声明:本文为Anger999原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。