资讯详情

国产信创之路最扎实的一步——达梦数据库

作为程序员,序言内容简洁实用,无需修改。

在俄乌战争中,美国对饥饿的各个方面都进行了技术限制。我和我的部门开始了信息系统的全面性;不要说大方向,硬件本地化,软件本地化,直接说痛点。

第一想到,龙芯、飞腾、坤鹏等。,麒麟、红旗、普华等;第三是数据库,也是主角,达梦数据库。第四,没有。

了解后,达梦数据库已经了解到,都是现成的,已经过生产验证(扎实重要)。

何时?开学!发展不是DBA,实用的 13个要点(包括DCA学会认证所有知识点)。如果有问题,可以留言讨论。

(以下是个人写作习惯,数据库注释是"--"不是"//"我知道)

文本注释,代码命令不注释,小标题前添加 "-",全篇可复制至txt没有特殊符号、格式和图片。

//-一,概述

//-2,安装

//-3创建数据库

//-4客户端工具

//---五,DMSQL

//-6系统结构

//-7表空间管理

//-8用户管理

//-9,模式

//-十,数据字典

///-11,备份还原

///-十二,作业

//---十三,开发


//操作系统:银河麒麟 V10 | 数据库:DM8

//UP使用xshell winscp进行连接 xrandr -s 1920x1200_60 //修改屏幕分辨率

//-检查 free -m; df -h//检查内存,硬盘 rpm -qa|grep gcc;rpm -qa|grep glibc getenforce //用户和组 groupadd dinstall useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba passwd dmdba //目录 文件 mkdir /dm8 chown [-R] dmdba:dinstall /dm8 ls -ld /dm8 mkdir /mnt/dm mount /opt/dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso /mnt/dm //-图形化 xhost 允许其他用户登录图形化 echo $DISPLAY //查看root的当前值 su - dmdba export DISPLAY=:0.0 //以上echo出的值 //-安装建议使用命令 su - dmdba //转换用户 ./DMInstall.bin -i /dm8 ///根据需要选择安装路径 /dm8/script/root/root_installer.sh //最后以root用户执行 //-卸载(不必要) //DM 执行安装目录./uninstall.sh -i卸载 DM 数据库 /dm8/script/root/root_uninstaller.sh //最后以root用户执行

//-3创建数据库

//-创建 cd /dm8/tool ./dbca.sh //创建实例,注册数据库服务 //簇大小,页面大小,字符集 创建数据库后无法修改 ///按考试要求统一或单独设置用户名密码 //设置SYSDBA用户的密码 9位以上 比如111111111 //创建后root执行 mv /dm8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service systemctl enable DmServiceDMSERVER.service systemctl start DmServiceDMSERVER.service ps -ef |grep dmserver ///检查过程 ./dmservice.sh //root用户打开图形界面,维护服务状态 //-删除 需要停止服务 systemctl stop DmServiceDMSERVER cd /dm8/script/root/ ./dm_service_uninstaller.sh -n DmServiceDMSERVER //root用户 //-连接数据库 cd /dm8/bin ./disql sysdba/Dameng123:5236 select name from v#database; select status$ from v$instance //-启动 ./DmServiceDMTESTSVR start | stop | status [mount]

//-4客户端工具

cd /dm8/tool/ manager //管理工具 选项-编辑器-语法检查 console //脱机 备份 还原 工具 nca //网络配置助手 dts///数据迁移工具 monitor///性能监控工具 ps -ef |grep dmserver ps -T -p 80155 ///检查对应性pid的线程

//---五,DMSQL

//-SQL DML/DDL/DCL/TCL select a.DEPARTMENT_ID, count(*) as empnum from dmhr.employee a group by a.DEPARTMENT_ID having count(*) >=30; //create table create table t_test(id int, name VARCHAR(20)) TABLESPACE tbs; //inert insert into t_test(id, name) values(1, 'aaa'); insert into dmhr.DEPARTMENT(DEPARTMENT.DEPARTMENT_ID, DEPARTMENT.DEPARTMENT_NAME) values(888888,'Test'); commit; update dmhr.employee set salary=(select salary from dmhr.employee where employee_name='金纬') where employee_name='马学铭'; commit;

//---六,体系结构

//表空间是 DM 数据库的最大存储单元,所有数据都存储在表空间中。 //DM 物理文件包含:配置文件、控制文件、数据文件、联机日志(此四个文件必不可少,缺少一个将无法正常启动)。 bin/dmctlcvt dm.ctl //控制文件 select name from v$parameter //如:COMPATGIBLE_MODE 兼容模式, SVR_LOG 开启sql跟踪, BUFFER普通缓冲区 //console 控制台工具 图形化界面方式修改,需要重启数据库才能生效。 //直接修改 dm.ini 配置文件,需要重启数据库才能生效。 cat dm.ini |grep MEMORY //系统函数修改(可以用来修改静态和动态参数,但静态参数修改后需要重启数据库才能生效) select * from SYS."V$PARAMETER" t WHERE name in ('BUFFER','FAST_POOL_PAGES','RECYCLE','KEEP'); alter system set 'BUFFER'= 500 spfile;//修改参数文件中的值 alter system set 'ENABLE_LOCAL_OSAUTH'=1 spfile;//设置启用操作系统认证 BUFFER、FAST_POOL_PAGES、RECYCLE、KEEP//数据缓冲区 VM_POOL_SIZE//虚拟池 RLOG_BUF_SIZE//日志缓冲区 CACHE_POOL_SIZE//SQL缓冲区 DICT_BUF_SIZE//字典缓冲区 SESS%//session pool相关 like 'MEMORY%'//主内存池(共享内存池) like 'SORT%';like 'HJ%';//运行时的内存池 select * from v$bufferpool|v$mem_pool;//查询缓冲区情况 select * from SYS."V$DYNAMIC_TABLES";//所有动态视图 //-启动顺序 alter database mount; select status$ from v$instance;

//---七,表空间管理

//DM默认预定义 SYSTEM、ROLL、MAIN、TEMP、HMAIN 五个表空间 select * from v$parameter t where name like 'TEMP%';//DM 中临时表空间由参数 TEMP_SIZE 指定 //表空间相关数据字典 select * from dba_tablespaces; select * from DBA_DATA_FILES; select * from v$tablespace; select * from v$datafile; select * from DBA_FREE_SPACE; --数据文件剩余空间 //-维护表空间 //DM 数据文件大小,最大值不能低于页大小的 4096 倍 create tablespace tbs DATAFILE 'TBS01.DBF' size 32;//单位是M drop tablespace dmtbs;//DM 只能删除空的表空间 alter TABLESPACE tbs add DATAFILE 'TBS02.DBF' size 128 AUTOEXTEND on NEXT 2 MAXSIZE 20480;//表空间添加数据文件 alter tablespace tbs RESIZE DATAFILE 'TBS01.DBF' TO 128;//修改表空间数据文件大小 select * from dba_data_files; select * from SYS."V$DATAFILE"; //-表空间文件迁移 alter tablespace tbs offline;//表空间脱机 alter TABLESPACE tbs RENAME DATAFILE 'TBS01.DBF' TO '/dm8/data/DM/TBS/TBS01.DBF';//迁移表空间数据文件 alter tablespace tbs online; alter database RESIZE LOGFILE '/dm8/data/DM/DM01.log' TO 300;//修改联机日志文件大小 //-开启归档 disql > alter database mount; alter database archivelog; alter database add archivelog 'type=local,dest=/dm8/arch,file_size=64,space_limit=10240'; alter database open; select arch_mode from v$database; //使用DM管理工具图形界面 //自动扩展属性记得打开,自动offline //修改联机日志 选择LOCALHOST右键管理服务器->日志文件 //归档界面开启需要mount状态,系统管理里可设置 配置(M)

//---八,用户管理

//-角色 select * from v$parameter t where t.name = 'PWD_POLICY';//口令策略 create user hrtest IDENTIFIED by Dameng123 DEFAULT TABLESPACE TBSTEST; alter SYSTEM set 'PWD_POLICY' = 15 BOTH; alter user hr ACCOUNT UNLOCK;//用户定的解锁 alter user hr DEFAULT TABLESPACE dmtbs;//修改默认表空间 drop user if EXISTS hr;//删除用户 disql hrtest/'"Dameng@123"'//密码带有特殊字符的登录处理 //-权限 grant create table to hrtest; grant select on dmhr.employee to hrtest [with grant option];//对象权限 选项转授 revoke select on dmhr.employee from hrtest;//权限回收 //-角色 create role r1; select * from dba_roles; grant create table to r1; grant select on dmhr.department to r1; grant r1 to hrtest; sp_set_role('R1',0);//禁用后角色权限将不在生效

//---九,模式

//用户和模式是一对多的关系 select * from SYSOBJECTS t where t."TYPE$" ='SCH'; //查看模式 select a.id scheid, a.name schename, b.id userid, b.name username  from SYS.SYSOBJECTS a, SYS.SYSOBJECTS b where a."TYPE$" = 'SCH' and a.pid = b.id;//查询模式和用户的对应关系 //-模式维护 //模式包含很多对象,比如表 create schema hrtest01 AUTHORIZATION HRTEST;//创建模式 create table hrtest01.t_test(id int, name varchar(20)) tablespace DMTBS; //VARCHAR(size) CHAR(size) NUMBER(p,s) DATETIME LONG CLOB BLOB select sys_context('USERENV','CURRENT_SCHEMA');//查看当前模式和当前用户 select sys_context('USERENV','CURRENT_USER');//查看当前模式和当前用户 set SCHEMA dmhr;//切换模式 drop SCHEMA IF EXISTS HRTEST01;//删除模式 //-管理表 select * from v$parameter t where name ='LIST_TABLE';//DM 默认创建的是索引组织表 //DM 创建表时如果指定了主键,则主键为聚簇索引键 //CTAS方式创建表: create table t_emp01 as select * from dmhr.employee; create table t_emp02 like dmhr.employee; create table t_emp03 as select * from dmhr.employee where 1=0; //使用CREATE table as创建表时,默认0不会复制表的约束信息,由参数CTAB_SEL_WITH_CONS指定 select * from SYS."V$PARAMETER" t where t.name like 'CTAB_SEL_WITH_CONS%'; alter table hrtest.t_testpid add COLUMN email varchar(20);//添加字段 alter table hrtest.t_testpid modify email varchar(50);//修改字段类型 alter table hrtest.t_testpid drop logtime;//删除字段 alter table hrtest.t_testpid add COLUMN logtime datetime DEFAULT sysdate;//对字段添加默认值 select * from dba_tables t where t.owner='HRTEST';//数据字典 select * from dba_tab_columns t where t.owner='HRTEST'//数据字典 //-数据的导入 `/dm8/backup/dts/t_department.sql commit; //-约束 alter table hrtest.t_testpid modify pname not null;//非空约束 alter table hrtest.t_testpid add CONSTRAINT uk_testpid_email unique (email);//唯一约束 alter table hrtest.t_testpid ADD CONSTRAINT pk_testpid_pid PRIMARY KEY(pid);//主键约束 alter table hrtest.t_testpid add salary number(10,2);//检验约束 alter table hrtest.t_testpid ADD CONSTRAINT ck_testpid_salary CHECK(salary>=2100);//检验约束 alter table hrtest.t_test add CONSTRAINT fk_test_id FOREIGN KEY(id)      REFERENCES hrtest.t_testpid(pid);//外键约束(外键引用两一张表的主键或者唯一键) //约束的禁用和启用、删除 alter table hrtest.t_test disable CONSTRAINT fk_test_id; alter table hrtest.t_test enable CONSTRAINT fk_test_id; alter table hrtest.t_test drop CONSTRAINT fk_test_id select * from dba_constraints t where t.owner='HRTEST';//数据字典 select * from DBA_CONS_COLUMNS t where t.owner='HRTEST';//数据字典 //-索引 explain select * from hrtest.t_emp01 t where T.EMPLOYEE_NAME = '马学铭';//explain展示执行计划 create index ix_emp01_employeename ON HRTEST.T_EMP01(EMPLOYEE_NAME); alter index HRTEST.IX_EMP01_EMPLOYEENAME MONITORING USAGE;//开启索引监控 drop index HRTEST.ix_emp01_employeename;//删除 select * from dba_indexes t where t.OWNER ='HRTEST';//数据字典 //-视图 create or REPLACE view hrtest.v_emp  as select a.EMPLOYEE_ID, a.EMPLOYEE_NAME, a.EMAIL, a.PHONE_NUM, a.SALARY from dmhr.employee a where a.DEPARTMENT_ID = 1001;

//---十,数据字典

  //-数据字典 //存储在 SYSTEM 表空间中,包含对象定义、权限、用户角色等信息。 //USER_* 用户所拥有的对象信息 ALL_* 用户能访问的对象信息 DBA_* 整个数据库中的对象信息 //-动态性能视图 select * from sys.sysobjects t where id= 1069; --查询被锁的表 sp_close_session(sess_id); --结束某个会话

//---十一,备份还原

//--物理备份 select * from v$parameter t where name in ('BAK_PATH', 'BAK_USE_AP');//默认的备份路径 备份还原策略 //-脱机备份恢复(数据库和表空间的还原需要在关闭状态下) /dm8/bin/dmrman show backupset '/dm8/data/DAMENG/bak/DB_' backup database '/dm8/data/DM/dm.ini'; restore database '/dm8/data/DAMENG/dm.ini' tablespace main from      backupset '/dm8/backup/full/CONSOLEFULLBAK';//表空间的还原 recover database '/dm8/data/DAMENG/dm.ini' tablespace main;//表空间的恢复 restore database '/dm8/data/DM/dm.ini' from backupset '/dm8/backup/full/ONLINEBAK_02';//数据库还原 recover database '/dm8/data/DM/dm.ini' with archivedir '/dm8/arch';//数据库恢复 recover database '/dm8/data/DM/dm.ini' update db_magic;//更新数据库魔术,只有库级还原需要更新魔术 //脱机备份使用console工具 //指定搜索目录,添加备份路径和默认备份路径,点击获取备份 //-联机备份 ps -ef|grep dmap//需打开归档,ap进程必须存在,用于备份辅助 //归档不连续,可以开启归档,重启数据库 select * from SYS."V$BACKUPSET"//查询备份集 SF_BAKSET_BACKUP_DIR_ADD('DISK','/dm8/backup/full/');//添加指定备份集目录才能查到 backup database; //全量备份 backup database increment; //增量备份 backup database full to ONLINEBAK_01 backupset '/dm8/backup/full/ONLINEBAK_01'; backup database increment BASE ON BACKUPSET '/dm8/backup/full/ONLINEBAK_01' to ONLINEBAKINCR_01      backupset '/dm8/backup/incr/ONLINEBAK_01' ; backup database increment with BACKUPDIR '/dm8/backup/full/' to     ONLINEBAKINCR_02 backupset '/dm8/backup/incr/ONLINEBAK_02'; select * from v$ifun t where t.name like 'SF_BAKSET%'; backup tablespace dmtbs;//表空间备份 backup tablespace dmtbs INCREMENT with BACKUPDIR '/dm8/backup/full/' to      DMTBSINCR_01 backupset '/dm8/backup/incr/DMTBSINCR_01' ; backup table dmhr.employee; //表的备份 backup ARCHIVELOG all; //归档备份 //库级、表空间的还原和恢复不支持联机恢复,只支持脱机还原恢复。 //联机备份使用manager工具 //右键添加指定工作目录 //--逻辑备份 //-dexp 逻辑导出、dimp 逻辑导入四个级别 //全库(full=y)按用户(owner=XXX)按模式(schemas=XXX)按表(tables=XX) cd /dm8/bin/ dexp userid=sysdba/Dameng123:5236 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y dimp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=impfull.log full=y [owner=HRTEST schemas=DMHR tables=DMHR.EMPLOYEE]

//---十二,作业

//-图形界面操作 //开启代理服务 //代理右键,创建代理环境 //管理工具创建 JOB select * from dba_jobs; dbms_job.run(1651096901);//测试运行job

//---十三,开发

//-ODBC 安装 //解压ODBC的tar包 ./configure //默认/usr/local make make install //-ODBC 配置 odbcinst -j cd /usr/local/etc/ vi odbc.ini [DM8] Description = DM ODBC DSN Driver = DM8 ODBC DRIVER SERVER = localhost UID = SYSDBA PWD = 111111111 TCP_PORT = 5236 vi odbcinst.ini [DM8 ODBC DRIVER] Description = ODBC DRIVER FOR DM8 Driver = /dm8/bin/libdodbc.so //-ODBC 测试 dmdba> isql dm8 -v select * from tb  

没有结束语。

标签: 国产可代连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台