达梦数据库学习笔记@1

目录

  • 达梦数据库学习笔记
    • 一、表空间管理
      • (一)默认表空间
      • (二)相关数据字典
      • (三)表空间操作
      • (四)临时表空间管理
    • 二、重做日志管理
      • (一)系统视图
      • (二)日志操作
    • 三、归档管理
      • (一)开启归档
      • (二)其他操作
    • 四、用户管理
      • (一)相关视图
      • (二)三|四权分立
      • (三)口令策略
      • (四)身份验证模式
      • (五)用户管理示例
      • (六)用户资源限制
    • 五、权限管理
      • (一)授权和撤销
      • (二)权限相关系统表
      • (三)查看权限
    • 六、角色管理
      • (一)角色概念
      • (二)预定角色
      • (三)角色操作
    • 七、模式管理
      • (一)模式概念
      • (二)模式和用户关系
      • (三)模式操作
    • 八、表管理
      • (一)创建表
      • (二)表字段操作
      • (三)移动表
      • (四)表相关视图
    • 九、约束管理
      • (一)约束类型
      • (二)约束操作
      • (三)约束系统视图
    • 十、索引管理
      • (一)索引操作
      • (二)统计信息收集
    • 十一、视图管理
      • (一)视图概念
      • (二)视图操作
    • 十二、数据库备份恢复
      • (一)备份恢复概念
      • (二)备份类型
      • (三)备份操作
      • (四)DMRMAN备份
      • (五)逻辑备份
    • 十三、作业系统
      • (一)创建备份作业
    • 十四、DM8开发
      • (一)JDBC连接数据库
      • (二)ODBC连接数据库

达梦数据库学习笔记

一、表空间管理

(一)默认表空间

  1. SYSTEM:存储数据字典、表、字段、视图等对象的定义权限等信息。
  2. ROLL:存储DML操作对应的undo日志信息。
  3. MAIN:用户默认表空间,用户未指定时使用。
  4. TEMP:存储系统运行产生的临时数据,如排序数据。
  5. HMAIN:列存储表空间。

(二)相关数据字典

  1. dba_tablespaces:查询数据库表空间相关信息。
  2. dba_data_files:查询数据库数据文件信息。
  3. v$tablespace:查询表空间信息。
  4. v$datafile:查询数据文件相关信息。
  5. dba_free_space:查询数据库空闲的数据文件信息。

(三)表空间操作

  1. 创建CREATE TABLESPACE tbs_its DATAFILE 'tbs_its01.dbf' SIZE 128;,未指定路径时按参数存放到指定路径。
  2. 脱机ALTER TABLESPACE tbs_its OFFLINE;
  3. 重命名ALTER TABLESPACE tbs_its RENAME TO tbs1;
  4. 删除DROP TABLESPACE tbs1;
  5. 修改
    • 添加数据文件ALTER TABLESPACE tbs_its ADD DATAFILE 'tbs_its02.dbf' SIZE 128 MAXSIZE 1024;
    • 修改属性ALTER TABLESPACE tbs_its DATAFILE 'tbs_its02.dbf' AUTOEXTEND ON NEXT 2 MAXSIZE 1024;
    • 修改大小ALTER TABLESPACE tbs_its RESIZE DATAFILE 'tbs_its02.dbf' TO 256;
  6. 数据文件迁移
    • 先脱机:ALTER TABLESPACE OFFLINE;
    • 重命名:ALTER TABLESPACE tbs_its RENAME DATAFILE 'tbs_its02.dbf' TO '/tmp/tbs_its02.dbf';
    • 再联机:ALTER TABLESPACE ONLINE;

(四)临时表空间管理

  1. 收缩方法:重启数据库,自动重建临时表空间;使用SP_TRUNC_TS_FILE方法。

二、重做日志管理

(一)系统视图

  1. v$rlogfile:显示日志文件具体信息,如文件号、路径、状态、大小等。
  2. v$rlog:显示日志总体信息,包括事务号LSN、归档日志、检查点执行情况等。

(二)日志操作

  1. 修改大小alter database RESIZE LOGFILE 'its01.log' to 300;
  2. 添加日志alter database ADD LOGFILE 'its03.log' SIZE 300;
  3. 修改路径
    • 先挂载:ALTER DATABASE MOUNT;
    • 重命名:ALTER DATABASE RENAME LOGFILE 'its01.log' TO '/tmp/its01.log';
    • 再打开:alter database open;

三、归档管理

(一)开启归档

  1. 手动开启
    • 挂载数据库:ALTER DATABASE MOUNT;
    • 添加归档配置:ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=2048';
    • 开启归档模式:ALTER DATABASE ARCHIVELOG;
    • 打开数据库:ALTER DATABASE OPEN;
  2. 配置文件配置
    • dm.ini中设置ARCH_INI = 1
    • dmarch.ini中配置相关参数,如:
ARCH_WAIT_APPLY      = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE            = LOCAL
ARCH_DEST            = /dmdata/arch
ARCH_FILE_SIZE       = 128
ARCH_SPACE_LIMIT     = 2048
ARCH_FLUSH_BUF_SIZE  = 0
ARCH_HANG_FLAG       = 1

(二)其他操作

  1. 查看状态SELECT arch_mode FROM v$database;
  2. 修改配置参数ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
  3. 关闭归档
    • 挂载数据库:alter database mount;
    • 关闭归档模式:alter database noarchivelog;
    • 删除归档配置:alter database delete archivelog 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
    • 打开数据库:alter database open;
  4. 切换归档
    • alter database archivelog current;
    • alter system switch logfile;
    • alter system archive log current;
  5. 删除归档
    • 按时间删除SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE);
    • 按LSN删除SF_ARCHIVELOG_DELETE_BEFORE_LSN();

四、用户管理

(一)相关视图

  1. dba_users:用于查看用户相关信息。

(二)三|四权分立

  1. 系统管理员(SYSDBA):负责身份验证、资源限制、数据加密、访问控制、客体重用等。
  2. 系统审计员(SYSAUDITOR):承担审计工作。
  3. 系统安全员(SYSSSO):进行策略和标记管理。
  4. 对象管理员(SYSDBO)负责访问对象控制。

(三)口令策略

  1. PWD_POLICY参数:是隐藏参数,只能通过函数或语句修改。
    • 0:无限制,但总长度不超48字节。
    • 1:禁止与用户名相同。
    • 2:口令长度需大于等于INI参数PWD_MIN_LEN设置的值。
    • 4:至少包含一个大写字母。
    • 8:至少包含一个数字。
    • 16:至少包含一个标点符号(英文输入法下,除“和空格外的所有符号)。
select * from SYS."V$PARAMETER" where name like '%COMPATIBLE_MODE%';
select * from v$parameter t where t.name = 'PWD_POLICY';
alter SYSTEM set 'PWD_POLICY' = 16 BOTH;

(四)身份验证模式

  1. 数据库认证模式:使用创建用户时设置的密码登录。
  2. 基于操作系统认证模式
    • 开启相关参数:ENABLE_LOCAL_OSAUTH = 1开启本地操作系统认证;ENABLE_REMOTE_OSAUTH = 1开启远程操作系统认证;ENABLE_ENCRYPT = 1表示使用ssl安全加密(静态参数,需重启数据库)。
    • 操作步骤:先添加系统用户并加入指定组;在数据库中创建同名用户;登录数据库。

(五)用户管理示例

  1. 创建用户CREATE USER FANGYU IDENTIFIED BY 123456 DEFAULT TABLESPACE FYU_ITS DEFAULT INDEX TABLESPACE FYU_ITS;
  2. 锁定/解锁用户ALTER USER FANGYU ACCOUNT LOCK;(锁定);ALTER USER FANGYU ACCOUNT UNLOCK;(解锁)。
  3. 修改默认表空间ALTER USER FANGYU DEFAULT TABLESPACE MAIN;
  4. 修改密码ALTER USER FANGYU IDEDNTIFIED BY 01234;
  5. 删除用户DROP USER FANGYU(若用户有创建对象则无法删除);DROP USER FANGYU CASCADE;(强制删除)。

(六)用户资源限制

  1. 相关视图dba_profiles可定义策略。
  2. 设置方式
    • LIMIT语句alter user fyu limit FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;
    • PROFILE语句CREATE PROFILE P1 LIMIT FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;ALTER USER FYU PROFILE P1;

五、权限管理

(一)授权和撤销

  1. 授权GRANT 权限 TO username [WITH ADMIN OPTION]
  2. 回收REVOKE 权限 FROM username

(二)权限相关系统表

  1. DBA_SYS_PRIVS:系统权限。
  2. DBA_TAB_PRIVS:对象权限。
  3. DBA_ROLE_PRIVS:角色。
  4. DBA_COL_PRIVS:列权限。

(三)查看权限

  1. 查看当前用户权限select * from session_privs;

六、角色管理

(一)角色概念

  1. 角色是一组权限的集合。

(二)预定角色

  1. 管理类:如DBARESOURCEPUBLIC等,各有不同权限。
  2. 审计类:负责审计相关权限。
  3. 安全类:进行标记管理相关权限。

(三)角色操作

  1. 创建角色CREATE ROLE role_name;
  2. 删除角色DROP ROLE role_name;
  3. 禁用角色SP_SET_ROLE('role_name',0)

七、模式管理

(一)模式概念

  1. 模式是特定的对象集合,类似MySQL中的database,默认创建用户时会创建同名模式。

(二)模式和用户关系

  1. 一个用户可拥有多个模式,一个模式仅属于一个用户。

(三)模式操作

  1. 查看模式SELECT * FROM sysobjects WHERE tyepe$='SCH';
  2. 查看模式和用户对应关系
selecta.id scheid    ,a.name schename,b.id userid    ,b.name username
fromSYS.SYSOBJECTS a,SYS.SYSOBJECTS b
wherea."TYPE$" = 'SCH'and a.pid     = b.id;
  1. 创建模式CREATE SCHEMA s1 AUTHORIZATION FYU;
  2. 查看当前模式和用户SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA');SELECT SYS_CONTEXT('USERENV','CURRENT_USER');
  3. 切换模式SET SCHEMA S2;
  4. 删除模式drop schema s1;

八、表管理

(一)创建表

  1. 普通方式CREATE TABLE T1(id INT, name VARCHAR(12));
  2. 基于某个表创建CREATE TABLE T2 LIKE T1;(DM中会复制数据,与MySQL不同)
  3. CREATE TABLE AS SELECTCREATE TABLE T3 AS SELECT * FROM T1;

(二)表字段操作

  1. 添加字段ALTER TABLE T1 ADD COLUMN sex char(1);
  2. 删除字段ALTER TABLE T1 DROP COLUMN sex ;
  3. 修改字段ALTER TABLE T1 MODIFY sex char(10);

(三)移动表

  1. 移动到指定表空间ALTER TABLE T1 MOVE TABLESPACE MAIN;

(四)表相关视图

  1. dba_tables:查看表相关信息。
  2. dba_tab_column:查看表字段相关信息。

九、约束管理

(一)约束类型

  1. NOT NULL:非空约束。
  2. UNIQUE:唯一约束。
  3. PRIMARY KEY:主键约束(唯一约束 + 非空约束)。
  4. FOREIGN KEY:外键约束。
  5. CHECK:检验约束。

(二)约束操作

  1. 添加约束:分别使用不同语句添加各类约束。
  2. 禁用约束ALTER TABLE T1 DISABLE CONSTRAINT idx_uniq_id;
  3. 开启约束ALTER TABLE T1 ENABLE CONSTRAINT idx_uniq_id;
  4. 删除约束ALTER TABLE T1 DROP CONSTRAINT idx_uniq_id;

(三)约束系统视图

  1. dba_constraints:查看约束相关信息。
  2. dba_cons_columns:查看约束涉及的列相关信息。

十、索引管理

(一)索引操作

  1. 创建索引CREATE INDEX idx_id ON i1(id);
  2. 删除索引DROP INDEX idx_id;
  3. 监控索引ALTER INDEX idx_name MONITORING USAGE;,可通过V$OBJECT_USAGE视图查看使用情况。
  4. 重建索引ALTER INDEX idx_name rebuild;(离线重建);ALTER INDEX idx_name rebuild online;(在线重建)。

(二)统计信息收集

  1. 收集dbms_stats.gather_table_stats('SYSDBA','I1');
  2. 查看dbms_stats.table_stats_show('SYSDBA','I1');

十一、视图管理

(一)视图概念

  1. 由SQL语句组成的表,不存储真实数据,只存储查询语句。

(二)视图操作

  1. 创建视图CREATE VIEW v1 AS SELECT * FROM T1;
  2. 查询视图SELECT * FROM V1;

十二、数据库备份恢复

(一)备份恢复概念

  1. 备份:从数据库文件拷贝有效数据页到备份集。
  2. 还原:将有效数据页写入目标数据文件。
  3. 恢复:通过归档日志恢复到备份结束时状态,或指定时间、LSN位置。

(二)备份类型

  1. 逻辑备份:使用dexp工具导出数据,关注数据内容。
  2. 物理备份:扫描数据文件,拷贝已分配使用的数据页。
  3. 联机备份:数据库运行时备份。
  4. 脱机备份:数据库关闭时备份,dmrman备份需数据库关闭。

(三)备份操作

  1. 联机备份BACKUP DATABASE BACKUPSET 'bak_db';,可带多种参数。
  2. 不同备份示例:完全备份、增量备份、表空间备份、表备份、归档备份等都有相应语句和参数。

(四)DMRMAN备份

  1. 备份数据库:完全备份、增量备份、归档备份各有对应语句。
  2. 备份集校验SELECT SF_BAKSET_CHECK('DISK','/dmbak/full_db');
  3. 删除备份集SELECT SF_BAKSET_REMOVE('DISK','/dmbak/full_db',0);

(五)逻辑备份

  1. dexp参数及示例:众多参数控制导出行为,有全库、用户、模式、表等导出示例。
  2. dimp还原dimp USERID=SYSDBA/fangyu421 FILE=/dmbak/full.dmp LOG=full.log FULL=Y DIRECTORY=/dmbak/dimp/

十三、作业系统

(一)创建备份作业

  1. 可进行全量备份和增量备份作业创建,具体操作涉及相关界面设置。

十四、DM8开发

(一)JDBC连接数据库

  1. JDBC接口编程:是Java与数据库的接口规范,DM JDBC驱动程序支持基本SQL功能。
  2. JDBC连接池:负责管理数据库连接,常见连接池有C3P0、Proxool等多种。
  3. 连接基础参数jdbc.driver=dm.jdbc.driver.DmDriver等。

(二)ODBC连接数据库

  1. ODBC概念:为异构数据库访问提供统一接口。
  2. DM ODBC 3.0:遵照规范设计开发,可直接调用接口函数或通过可视化工具访问数据库。
  3. 配置与测试:配置/etc/odbcinst.ini/etc/odbc.ini文件,使用isql测试连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23023.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32的“Unique device ID“能否修改?

STM32F1系列的"Unique device ID"寄存器的地址为0x1FFFF7E8。 这个寄存器是只读的。 "Unique device ID"寄存器位于“System memory”中。“System memory”地址范围为“0x1FFF F000- 0x1FFF F7FF”。 所有STM32 MCU上都存在系统引导加载程序。顾名思义&a…

模型思维 - 领域模型的应用与解析

文章目录 引言模型的核心作用与价值四大模型类型UML建模工具UML类图的核心价值类关系深度剖析企业级建模实践 领域模型(推荐) vs 数据模型(不推荐)区别联系错把领域模型当数据模型错误方案 vs 正确方案对比正确方案的实现1. 数据库…

基于GWO灰狼优化的WSN网络最优节点部署算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 无线传感器网络(Wireless Sensor Network, WSN)由大量分布式传感器节点组成,用于监测物理或环境状况。节点部署是 WSN 的关键问…

产品概念的提出

产品概念的提出 一个产品或者一个产品概念idea是怎么想到的呢?很多情况下它其实来自生活中的一些不爽、不满意、想吐槽,凡是用户抱怨的事情就是用户的强烈刚需需求是我们要去做的事情。当有了一个想法时需要弄清楚一下几个问题: 核心用户事…

3.Docker常用命令

1.Docker启动类命令 1.启动Docker systemctl start docker 2.停止Docker systemctl stop docker 3.重启Docker systemctl restart docker 4.查看Docker状态 systemctl status docker 5.设置开机自启(执行此命令后每次Linux重启后将自启动Docker) systemctl enable do…

交互编程工具之——Jupyter

Jupyter 是什么? Jupyter 是一个开源的交互式编程和数据分析工具,广泛应用于数据科学、机器学习、教育和研究领域。其核心是 Jupyter Notebook(现升级为 JupyterLab),允许用户在一个基于浏览器的界面中编写代码、运行…

使用 AIStor 和 OpenSearch 增强搜索功能

在这篇文章中,我们将探讨搜索,特别是 OpenSearch 如何帮助我们识别模式或查看不断增长的数据中的趋势。例如,如果您正在查看运营数据,如果您的服务似乎是随机的,那么您需要尽可能回溯以识别模式并找出原因。这不仅适用…

java基础学习

java基础 面向对象三大特性 特性:封装、继承、多态; 封装:对抽象的事物抽象化成一个对象,并对其对象的属性私有化,同时提供一些能被外界访问属性的方法; 继承:子类扩展新的数据域或功能&#…

MySQL | MySQL库、表的基本操作01

MySQL库、表的基本操作01 一、库操作1.1 查看数据库1.2 创建数据库1.3 选择数据库1.4 查看创建数据库的SQL语句1.5 修改数据库1.6 删除数据库 二、表操作2.1 创建数据表2.2 查看表2.3 查看表结构2.4 查看创建数据库的SQL语句2.5 修改表2.6 删除表 ⚠️MySQL版本 8.0 一、库操作…

设备唯一ID获取,支持安卓/iOS/鸿蒙Next(uni-device-id)UTS插件

设备唯一ID获取 支持安卓/iOS/鸿蒙(uni-device-id)UTS插件 介绍 获取设备唯一ID、设备唯一标识,支持安卓(AndroidId/OAID/IMEI/MEID/MacAddress/Serial/UUID/设备基础信息),iOS(Identifier/UUID),鸿蒙&am…

正点原子[第三期]Arm(iMX6U)Linux系统移植和根文件系统构建-5.3 xxx_defconfig过程

前言: 本文是根据哔哩哔哩网站上“arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用: …

力扣热题 100:哈希专题三道题详细解析(JAVA)

文章目录 一、两数之和1. 题目描述2. 示例3. 解题思路4. 代码实现(Java)5. 复杂度分析 二、字母异位词分组1. 题目描述2. 示例3. 解题思路4. 代码实现(Java)5. 复杂度分析 三、最长连续序列1. 题目描述2. 示例3. 解题思路4. 代码实…

嵌入式八股文(五)硬件电路篇

一、名词概念 1. 整流和逆变 (1)整流:整流是将交流电(AC)转变为直流电(DC)。常见的整流电路包括单向整流(二极管)、桥式整流等。 半波整流:只使用交流电的正…

AI2-THOR环境下实现机器人导航、物体定位与抓取

1. 依赖安装 pip install ai2thor pip install numpy pillow opencv-python2. 验证安装 # 运行测试脚本验证安装 test_thor.py from ai2thor.controller import Controller controller Controller(scene"FloorPlan1") controller.step(action"MoveAhead"…

Nginx(详解以及如何使用)

目录 1. 什么是Nginx? 2. 为什么使用nginx? 3. 安装nginx 3.1?安装nginx的依赖插件 3.2 下载nginx ?3.3?创建一个目录作为nginx的安装路径 ?3.4?解压 ?3.5?进入解压后的目录 3.6?指定nginx的安装路径 ?3.7?编译和安装nginx 3.8 启动nginx ?…

【自动化脚本工具】Hammerspoon (Mac)

目录 1. 介绍Hammerspoon 1. 介绍Hammerspoon This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine. What gives Hammerspoon its power is a set of extensions that expo…

2025 PHP授权系统网站源码

2025 PHP授权系统网站源码 安装教程: PHP7.0以上 先上传源码到服务器,然后再配置伪静态, 访问域名根据操作完成安装, 然后配置伪静态规则。 Ngix伪静态规则: location / { if (!-e $request_filename) { rewrite …

Javascript网页设计案例:通过PDFLib实现一款PDF分割工具,分割方式自定义-完整源代码,开箱即用

功能预览 一、工具简介 PDF 分割工具支持以下核心功能: 拖放或上传 PDF 文件:用户可以通过拖放或点击上传 PDF 文件。两种分割模式: 指定范围:用户可以指定起始页和结束页,提取特定范围的内容。固定间距:用户可以设置间隔页数(例如每 5 页分割一次),工具会自动完成分…

基于SpringBoot的民宿管理系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

调用click.getchar()时Windows PyCharm无法模拟键盘输入

文章目录 问题描述解决方案参考文献 问题描述 调用 click.getchar() 时,Windows PyCharm 无法模拟键盘输入 解决方案 Run → Edit Configurations… → Modify options → Emulate terminal in output console 参考文献 Terminal emulator | PyCharm Documentati…