一、数据库安装前准备
麒麟V10操作系统版本
查看glibc版本
安装达梦数据库要求glibc在2.6以上
查看gcc版本
安装odbc的时候,需要gcc包依赖,没有安装的话需要进行安装
麒麟是默认就关闭了防火墙
麒麟是默认就关闭了SELINUX
使用sysctl –p 生效
(看了很多安装文档, 这些内核参数都没有设定,都在使用默认值)
创建达梦用户组
创建达梦用户
不能设置简单密码,需要设置密码符合密码规则
创建达梦安装路径
配置/etc/security/limits.conf
设置最大可打开文件数
10.挂载dm安装iso镜像文件
二、数据库安装
11. 切换到达梦用户dmdba
设置DISPLAY进入安装图形界面
使用DMInstall.bin程序安装达梦数据库软件
达梦数据库软件安装过程
14.1 进入达梦数据库安装向导
14.2 接受达梦数据库许可协议
14.3 显示达梦数据库版本信息和客户端工具
14.4 达梦数据库key文件可以略过
直接下一步:
14.5 达梦数据库典型安装
14.6 设置达梦数据库安装路径
14.7 达梦数据库安装前小结
14.8 达梦数据库安装
14.9 执行脚本/dm8/dmdba/dmdbms/script/root/root_installer.sh
14.10 达梦数据库软件安装完成
不勾选初始化数据库,初始化数据库就是dbca创建数据库,另外再创建。
15.1 运行dbca创建数据库
15.2 创建数据库选择一般用途模板
15.3 设置数据库安装路径
15.4 设置数据库名称和实例名称
15.5 数据库文件路径
15.6 数据库初始化参数,字符集指定为UTF8
15.7 设置SYSDBA口令:dameng123
15.8 创建示列数据库
15.9 创建数据库
15.10 执行配置脚本
15.11 完成数据库创建
15.12. 查看默认数据库服务
使用dbca创建数据库之后,默认会注册该数据库的服务,自动运行,不需要另外在执行注册命令。
16.2 dminit命令创建数据库
./dminit path=/dm8/dmdba/dmdbms/data db_name=DMTEST instance_name=DMTEST port_num=5237 page_size=8 SYSDBA_PWD=Dameng123 CHARSET=1
16.3 dbca注册数据库服务
16.4 配置注册数据库服务
16.5 创建数据库服务
16.6 完成数据库服务的注册
服务正常运行。
三、数据库连接
18. 命令行模式连接
四、参数配置修改
20.查看数据库参数类型
20.1 参数类型
达梦数据库的参数配置文件是dm.ini,参数有3种类型:手动参数、静态参数、动态参数。
20.1.1 手动参数(read only)
在数据库运行过程中,不允许手动修改参数,不能通过系统函数、SQL命令
达到修改参数的目的,只能从dm.ini配置文件中进行修改。
20.1.2 静态参数(IN FILE)
只能从dm.ini配置文件中进行修改,修改后需要重启实例才能生效。
20.1.3 动态参数(SYS和SESSION)
可以修改dm.ini文件和内存的参数值,修改后立即生效。SYS类型参数修改
后影响所有会话,SESSION类型参数修改后影响当前会话。
20.2 参数修改方法
20.2.1 直接对dm.ini参数文件进行修改
20.2.2 使用SQL语句修改
20.2.2.1 修改COMPATIBLE_MODE参数
该参数类型为:IN FILE,是个静态参数
修改file_value的值,即dm.ini参数文件的值。
重启将生效,
20.2.2.2 修改undo参数
该参数类型为:SYS,是个动态参数
alter system set ‘UNDO_RETENTION’ =900;
修改参数不带both,是直接修改内存参数值,dm.ini参数值并没有改变。
修改参数自带both,是直接修改内存参数值,dm.ini参数值也一起修改。
20.3 使用函数修改
20.3.1 系统函数
20.3.2 scope设置
设置1是调整动态参数,立刻生效。
设置2是调整静态参数,重启生效。
20.3.3 查看系统函数的参数类型
SF_GET_PARA_VALUE(scope,ini_param_name)
scope设置1表示从dm.ini文件中读取,设置为2表示从内存中读取。
SELECT SF_GET_PARA_VALUE(1,‘BUFFER’);
SELECT SF_GET_PARA_VALUE(2,‘BUFFER’);
20.3.4 使用函数修改参数
SP_SET_PARA_DOUBLE_VALUE
SP_SET_PARA_STRING_VALUE
SP_SET_PARA_VALUE
scope设置为1表示同时修改了dm.ini文件和内存参数,不需要重启数据库生效.
scope设置为2表示只修改dm.ini文件,需要重启数据库生效.
20.3.4.1 SP_SET_PARA_VALUE
SP_SET_PARA_VALUE修改整数型参数
buffer参数是一个静态参数,类型为IN FILE
需要重启生效。
20.3.4.2 SP_SET_PARA_DOUBLE_VALUE
SP_SET_PARA_DOUBLE_VALUE修改浮点型型参数
undo_retention参数是一个动态参数,类型为SYS
20.3.4.3 SP_SET_PARA_STRING_VALUE
参数基本上没有修改字符串的,这个可以忽略。
五、业务表空间管理
21. 创建表空间dbtbs,不需要指定路径,直接写’dbtbs01.dbf’ 即可,自动会加上路径
表空间dbtbs增加数据文件
修改表空间dbtbs的大小
修改表空间dbtbs的最大值
表空间dbtbs迁移
drop表空间dbtbs
六、临时表空间管理
27. 查询temp表空间参数
重启生效
七、重做日志文件管理
达梦的logfile不能删除,不能改小。
重做日志文件,用来保存redo日志,redo日志默认2个,循环使用,不断覆盖,联机日志由系统自动切换,不能手动切换,联机日志过小,会制造日志频繁切换,过大则浪费磁盘空间。
达梦的联机日志只支持系统自动切换,不支持手动切换(oracle支持)。
增加logfile文件的数量
增大logfile文件大小
重命名logfile文件(从一个路径到另外一个路径,或者改名)
八、归档日志文件管理
在dm_ini中查看ARCH_INI
的值来查看归档开启状况,1为开启。
select arch_name,arch_type,arch_dest,arch_file_size,arch_space_limit from v$dm_arch_ini;
33. 归档日志文件切换
alter SYSTEM ARCHIVE LOG CURRENT;
alter SYSTEM SWITCH LOGFILE;
alter DATABASE ARCHIVELOG CURRENT;
达梦数据库有三种归档日志切换方式。
九、用户角色权限
34. 用户管理
34.1 查询创建用户密码策略
密码策略数字为2,密码策略是动态参数。
34.2 创建用户
34.3 调整密码错误次数参数,默认输错5次后锁定账号,并且3分钟后自动解锁
超过5次密码错误登陆,导致该账户被锁定
可以手动解锁,也看等待3分钟之后解锁。
34.4 查询达梦数据库用户属性profile
select a.USERNAME,a.ACCOUNT_STATUS,b.FAILED_ATTEMPS,b.LOCK_TIME,b.FAILED_NUM
from dba_users a,sysusers b
where a.user_id = b.id
and a.username=‘XIANGY’;
34.5 查询指定用户权限
35.2 角色授权
35.3 授权用户
36.2 授予删除、修改权限
36.3 回收权限
36.4 权限类型
系统权限
CREATE TABLE、INDEX、VIEW,CREATE user等
对象权限
对某张表的查询、修改、删除、插入权限,也可以是某个存储过程的执行权限
权限转授
系统权限转授,with admin option
对象权限转授,with grant option
十、模式对象管理
37. 模式的概念
什么是模式:
模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集
什么是模式对象:
表、视图、约束、索引、序列、触发器、存储过程/函数、包、同义词、类、域
模式与用户的关系
当系统建立一个用户时,会自动生成一个对应的模式,用户和模式是一对多的关系(Oracle是一对一)
模式xixangy1属于用户xiangy.
查询模式
查询系统的模式
查询模式和所属用户
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;
查询当前模式
切换模式
切换只对当前用户下面的模式进行切换,非当前模式下,无法切换:
十一、表管理
43. 创建表
调整表字段
增加表约束
45.1 约束类型
NOT NULL:非空约束
UNIQUE:唯一约束,可以为空,简写为UK_表名_字段名
PRIMARY KEY:主键约束(唯一约束+非空约束),简写为PK_表名_字段名
FOREIGN KEY:外键引用约束,引用的是另一张表(父表)的主键或唯一键。简写为FK_表名_字段名
CHECK:检验约束,用户校验数据的准确性,简写为CK_表名_字段名
45.2 增加主键约束
45.3 增加外键约束
添加外键约束,注意REFERENCES表里的字段必须是主键或者是添加了唯一索引的字段
45.4 增加校验约束(check)
45.5 禁用和启用约束
禁用:
启用:
十二、索引管理
46. 创建普通索引
创建聚集索引
创建唯一索引
创建函数索引
创建位图索引
注意:位图索引和聚集索引不能同时在一张表上面。
51.2 设置索引的可见性
51.3 索引重建
51.4 删除索引
十三、视图管理
52. 创建视图
十四、备份与还原操作
54. 逻辑导出
54.1 创建DIRECTORIES目录
54.2 全库导出
./dexp userid=SYSDBA/dameng123 directory=/dm8/dmdba/dmdbms/dmp file=full.dmp log=full.log full=y
54.3 按用户导出
./dexp userid=SYSDBA/dameng123 directory=/dm8/dmdba/dmdbms/dmp file=dmhr.dmp log=dmhr.log owner=dmhr
54.4 SQL文件脚本导入数据库
55.1.1.1 全备份(full)
backup database backupset ‘/dm8/dmdba/dmdbms/rmanbak/db_full_01’;
55.1.1.2 增量备份(increment)
backup database increment with BACKUPDIR ‘/dm8/dmdba/dmdbms/rmanbak’ backupset ‘/dm8/dmdba/dmdbms/rmanbak/increment_bak_01’;
55.1.1.3 归档备份
55.1.2 图形化方式
dmap服务是启动的,
解决方法是:增加备份目录到指定路径:/dm8/dmdba/dmdbms/rmanbak
55.1.2.1 全备份(完全备份)
点击下面确认按钮,备份。
备份成功。
55.1.2.2 使用备份视图查看
使用之前,需要使用SF_BAKSET_BACKUP_DIR_ADD函数增加备份目录
刚才备份的备份集没有出现。
执行备份路径添加:
再次查看出现备份集信息
55.1.2.3 增量备份
55.1.2.4 归档备份
55.2 脱机备份(RMAN方式)
55.2.1 脱机备份3个条件
(1)、DmAPService服务正常运行
(2)、在/dm8/dmdba/dmdbms/bin目录下面执行dmrman命令
(3)、备份的实例必须处于关闭状态。
55.2.2 命令行方式
55.2.2.1 数据库全备份
(1)关闭数据库:
(2)rman备份:
backup database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ full backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_full_01’;
55.2.2.2 增量备份
backup database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ increment with backupdir ‘/dm8/dmdba/dmdbms/rmanbak’ backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_incre_01’;
增量备份和全备份之间需要事务的发生,不然会报不需要备份,不会产生增量备份集。
55.2.2.3 归档备份
backup archivelog all not backed up database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_arch_01’;
55.2.3 图形化方式
脱机备份需要登录控制台进行备份,无法使用DM管理工具
./console
55.2.3.1 数据库全备份
备份成功。
55.2.3.2 数据库归档备份
归档备份成功
56.1 数据库还原(图形方式)
56.2 数据库恢复(图形方式)
56.3 更新DB_Magic(图形方式)
恢复完成,打开数据库看看。
服务启动之后,数据库正常打开
56.4 数据库还原(命令行方式)
restore database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_full_02’
56.5 数据库恢复(命令行方式)
recover database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_full_02’
56.6 更新DB_Magic(命令行方式)
recover database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ update db_magic;
恢复完成。
数据库服务启动之后,数据库正常打开。
十五、作业管理
57. 创建代理环境
命令行方式创建代理环境
SP_INIT_JOB_SYS(1);
57.1 新建作业
57.1.1 配置作业常规
57.1.2 配置作业步骤
57.1.3 配置作业调度
这个脚本是调度自动生成的。
call SP_CREATE_JOB(‘full_db’,1,0,’’,0,0,’’,0,‘每5分钟全备份数据库’);
call SP_JOB_CONFIG_START(‘full_db’);
call SP_ADD_JOB_STEP(‘full_db’, ‘backup_full_database’, 0, ‘backup database ‘’/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’’ full backupset ‘’/dm8/dmdba/dmdbms/rmanbak/rman_db_full_%U’’;’, 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘full_db’, ‘backup_full_database’, 1, 1, 1, 0, 5, ‘00:00:00’, ‘23:59:59’, ‘2022-11-23 23:15:00’, NULL, '每间隔5分钟全备份一次数据库。
');
call SP_JOB_CONFIG_COMMIT(‘full_db’);
十六、开发管理
58. ODBC配置
58.1 解压ODBC
tar -zxvf /opt/unixODBC-2.3.11.tar.gz
cd unixODBC-2.11.0
58.2 源码编译ODBC
root用户执行:
./configure
make
make install
58.3 配置ODBC
58.3.1 配置odbc.ini文件
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = dameng123
TCP_PORT = 5236
55.3.2 配置odbcinst.ini文件
[DM8 ODBC DRIVER]
Drscription = ODBC DRIVER FOR DM8
Driver = /dm8/dmdba/dmdbms/bin/libdodbc.so
58.4 访问ODBC
成功访问.
文章
阅读量
获赞