达梦数据库学习笔记@1

news/2025/2/24 8:56:14

目录

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

达梦数据库学习笔记

一、表空间管理

(一)默认表空间

  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. 查看模式和用户对应关系
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;
  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.niftyadmin.cn/n/5864133.html

相关文章

管道-过滤器、隐式调用、解释器架构风格对比

管道-过滤器、隐式调用与解释器架构风格对比 1. 管道过滤器风格(Pipe-Filter) 核心思想:系统由一系列独立的过滤器(处理单元)组成,通过管道(数据通道)连接,数据按顺序流…

【分布式数据一致性算法】Gossip协议详解

在分布式系统中,多个节点同时提供服务时,数据一致性是核心挑战。在多个节点中,若其中一个节点的数据发生了修改,其他节点的数据都要进行同步。 一种比较简单粗暴的方法就是 集中式发散消息,简单来说就是一个主节点同时…

windows下安装CUDA-本地微调大模型

1、查看NVIDIA的控制面板的版本号 2 下载CUDA Toolkit https://developer.nvidia.com/cuda-toolkit-archive 这里要下载和自己电脑NVIDIA适配CUDA的大版本要保持一致 选择对应的版本进行下载 文件比较大,直接右键复制链接,放到迅雷中两分钟就下好了 3 …

微服务即时通信系统---(三)框架学习

目录 brpc RPC框架 核心概念 工作原理 介绍 安装 头文件包含和编译时指明库 类与接口介绍 日志输出类与接口 protobuf类与接口 Closure类 RpcController类 服务端类与接口 ServerOptions类 Server类 ClosureGuard类 HttpHeader类 Controller类 客户端类与…

ArcGIS Pro热力图制作指南:从基础到进阶

引言 在地理信息科学领域,热力图作为一种直观的数据可视化手段,广泛应用于展示空间数据的密度和热度分布。ArcGIS Pro,作为一款强大的地理信息系统(GIS)软件,为我们提供了制作热力图的便捷工具。本文将从基…

Pi币与XBIT:在去中心化交易所的崛起中重塑加密市场

在加密货币市场迅猛发展的背景下,Pi币和XBIT正在成为投资者关注的焦点。Pi币作为一项创新的数字货币,通过独特的挖矿机制和广泛的用户基础,迅速聚集了大量追随者,展示了强大的市场潜力。同时,币应XBIT去中心化交易所的…

鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)

鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar) 1、效果展示2、下载 DevEco Studio3、创建项目4、新建页面模板5、更改应用信息6、新建以下页面7、Index.ets8、真机运行9、图片资源文件 1、效果展示 2、下载 DevEco Studio 访问官网根据自己的版本…

笔记 大学物理B下册

机械振动和电磁振荡 简谐振动 简谐振动表达式 如果物体所受合外力的大小总是与物体离开平衡位置的唯一大小成正比且方向相反,那么该物体的运动就是简谐振动。这种性质的力称为线性回复力。线性回复力 F − k x F -kx F−kx d 2 x d t 2 − ω 2 x \frac{d^2…