达梦数据库学习笔记@1

打印 上一主题 下一主题

主题 1031|帖子 1031|积分 3093

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
达梦数据库学习笔记

一、表空间管理

(一)默认表空间


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


  • dba_tablespaces:查询数据库表空间相关信息。
  • dba_data_files:查询数据库数据文件信息。
  • v$tablespace:查询表空间信息。
  • v$datafile:查询数据文件相关信息。
  • dba_free_space:查询数据库空闲的数据文件信息。
(三)表空间操作


  • 创建:CREATE TABLESPACE tbs_its DATAFILE 'tbs_its01.dbf' SIZE 128;,未指定路径时按参数存放到指定路径。
  • 脱机:ALTER TABLESPACE tbs_its OFFLINE;
  • 重命名:ALTER TABLESPACE tbs_its RENAME TO tbs1;
  • 删除:DROP TABLESPACE tbs1;
  • 修改

    • 添加数据文件: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;

  • 数据文件迁徙

    • 先脱机:ALTER TABLESPACE OFFLINE;
    • 重命名:ALTER TABLESPACE tbs_its RENAME DATAFILE 'tbs_its02.dbf' TO '/tmp/tbs_its02.dbf';
    • 再联机:ALTER TABLESPACE ONLINE;

(四)临时表空间管理


  • 紧缩方法:重启数据库,自动重修临时表空间;利用SP_TRUNC_TS_FILE方法。
二、重做日志管理

(一)系统视图


  • v$rlogfile:表现日志文件具体信息,如文件号、路径、状态、巨细等。
  • v$rlog:表现日志总体信息,包罗事务号LSN、归档日志、查抄点执行情况等。
(二)日志操作


  • 修改巨细:alter database RESIZE LOGFILE 'its01.log' to 300;
  • 添加日志:alter database ADD LOGFILE 'its03.log' SIZE 300;
  • 修改路径

    • 先挂载:ALTER DATABASE MOUNT;
    • 重命名:ALTER DATABASE RENAME LOGFILE 'its01.log' TO '/tmp/its01.log';
    • 再打开:alter database open;

三、归档管理

(一)开启归档


  • 手动开启

    • 挂载数据库:ALTER DATABASE MOUNT;
    • 添加归档配置:ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=2048';
    • 开启归档模式:ALTER DATABASE ARCHIVELOG;
    • 打开数据库:ALTER DATABASE OPEN;

  • 配置文件配置

    • 在dm.ini中设置ARCH_INI = 1 。
    • 在dmarch.ini中配置相关参数,如:

  1. ARCH_WAIT_APPLY      = 0
  2. [ARCHIVE_LOCAL1]
  3. ARCH_TYPE            = LOCAL
  4. ARCH_DEST            = /dmdata/arch
  5. ARCH_FILE_SIZE       = 128
  6. ARCH_SPACE_LIMIT     = 2048
  7. ARCH_FLUSH_BUF_SIZE  = 0
  8. ARCH_HANG_FLAG       = 1
复制代码
(二)其他操作


  • 查看状态:SELECT arch_mode FROM v$database;
  • 修改配置参数:ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
  • 关闭归档

    • 挂载数据库:alter database mount;
    • 关闭归档模式:alter database noarchivelog;
    • 删除归档配置:alter database delete archivelog 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
    • 打开数据库:alter database open;

  • 切换归档

    • alter database archivelog current;
    • alter system switch logfile;
    • alter system archive log current;

  • 删除归档

    • 按时间删除:SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE);
    • 按LSN删除:SF_ARCHIVELOG_DELETE_BEFORE_LSN();

四、用户管理

(一)相关视图


  • dba_users:用于查看用户相关信息。
(二)三|四权分立


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


  • PWD_POLICY参数:是隐蔽参数,只能通过函数或语句修改。

    • 0:无穷制,但总长度不超48字节。
    • 1:克制与用户名雷同。
    • 2:口令长度需大于等于INI参数PWD_MIN_LEN设置的值。
    • 4:至少包含一个大写字母。
    • 8:至少包含一个数字。
    • 16:至少包含一个标点符号(英文输入法下,除“和空格外的所有符号)。

  1. select * from SYS."V$PARAMETER" where name like '%COMPATIBLE_MODE%';
  2. select * from v$parameter t where t.name = 'PWD_POLICY';
  3. alter SYSTEM set 'PWD_POLICY' = 16 BOTH;
复制代码
(四)身份验证模式


  • 数据库认证模式:利用创建用户时设置的暗码登录。
  • 基于操作系统认证模式

    • 开启相关参数:ENABLE_LOCAL_OSAUTH = 1开启本地操作系统认证;ENABLE_REMOTE_OSAUTH = 1开启远程操作系统认证;ENABLE_ENCRYPT = 1表现利用ssl安全加密(静态参数,需重启数据库)。
    • 操作步调:先添加系统用户并加入指定组;在数据库中创建同名用户;登录数据库。

(五)用户管理示例


  • 创建用户:CREATE USER FANGYU IDENTIFIED BY 123456 DEFAULT TABLESPACE FYU_ITS DEFAULT INDEX TABLESPACE FYU_ITS;
  • 锁定/解锁用户:ALTER USER FANGYU ACCOUNT LOCK;(锁定);ALTER USER FANGYU ACCOUNT UNLOCK;(解锁)。
  • 修改默认表空间:ALTER USER FANGYU DEFAULT TABLESPACE MAIN;
  • 修改暗码:ALTER USER FANGYU IDEDNTIFIED BY 01234;
  • 删除用户:DROP USER FANGYU(若用户有创建对象则无法删除);DROP USER FANGYU CASCADE;(强制删除)。
(六)用户资源限制


  • 相关视图:dba_profiles可定义策略。
  • 设置方式

    • 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;

五、权限管理

(一)授权和打消


  • 授权:GRANT 权限 TO username [WITH ADMIN OPTION]
  • 接纳:REVOKE 权限 FROM username
(二)权限相关系统表


  • DBA_SYS_PRIVS:系统权限。
  • DBA_TAB_PRIVS:对象权限。
  • DBA_ROLE_PRIVS:脚色。
  • DBA_COL_PRIVS:列权限。
(三)查看权限


  • 查看当前用户权限:select * from session_privs;
六、脚色管理

(一)脚色概念


  • 脚色是一组权限的集合。
(二)预定脚色


  • 管理类:如DBA、RESOURCE、PUBLIC等,各有差异权限。
  • 审计类:负责审计相关权限。
  • 安全类:进行标记管理相关权限。
(三)脚色操作


  • 创建脚色:CREATE ROLE role_name;
  • 删除脚色:DROP ROLE role_name;
  • 禁用脚色:SP_SET_ROLE('role_name',0)
七、模式管理

(一)模式概念


  • 模式是特定的对象集合,类似MySQL中的database,默认创建用户时会创建同名模式。
(二)模式和用户关系


  • 一个用户可拥有多个模式,一个模式仅属于一个用户。
(三)模式操作


  • 查看模式:SELECT * FROM sysobjects WHERE tyepe$='SCH';
  • 查看模式和用户对应关系
  1. select
  2.         a.id scheid    ,
  3.         a.name schename,
  4.         b.id userid    ,
  5.         b.name username
  6. from
  7.         SYS.SYSOBJECTS a,
  8.         SYS.SYSOBJECTS b
  9. where
  10.         a."TYPE$" = 'SCH'
  11.     and a.pid     = b.id;
复制代码

  • 创建模式:CREATE SCHEMA s1 AUTHORIZATION FYU;
  • 查看当前模式和用户:SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA');;SELECT SYS_CONTEXT('USERENV','CURRENT_USER');
  • 切换模式:SET SCHEMA S2;
  • 删除模式:drop schema s1;
八、表管理

(一)创建表


  • 平常方式:CREATE TABLE T1(id INT, name VARCHAR(12));
  • 基于某个表创建:CREATE TABLE T2 LIKE T1;(DM中会复制数据,与MySQL差异)
  • CREATE TABLE AS SELECT:CREATE TABLE T3 AS SELECT * FROM T1;
(二)表字段操作


  • 添加字段:ALTER TABLE T1 ADD COLUMN sex char(1);
  • 删除字段:ALTER TABLE T1 DROP COLUMN sex ;
  • 修改字段:ALTER TABLE T1 MODIFY sex char(10);
(三)移动表


  • 移动到指定表空间:ALTER TABLE T1 MOVE TABLESPACE MAIN;
(四)表相关视图


  • dba_tables:查看表相关信息。
  • dba_tab_column:查看表字段相关信息。
九、约束管理

(一)约束范例


  • NOT NULL:非空约束。
  • UNIQUE:唯一约束。
  • PRIMARY KEY:主键约束(唯一约束 + 非空约束)。
  • FOREIGN KEY:外键约束。
  • CHECK:检验约束。
(二)约束操作


  • 添加约束:分别利用差异语句添加各类约束。
  • 禁用约束:ALTER TABLE T1 DISABLE CONSTRAINT idx_uniq_id;
  • 开启约束:ALTER TABLE T1 ENABLE CONSTRAINT idx_uniq_id;
  • 删除约束:ALTER TABLE T1 DROP CONSTRAINT idx_uniq_id;
(三)约束系统视图


  • dba_constraints:查看约束相关信息。
  • dba_cons_columns:查看约束涉及的列相关信息。
十、索引管理

(一)索引操作


  • 创建索引:CREATE INDEX idx_id ON i1(id);
  • 删除索引:DROP INDEX idx_id;
  • 监控索引:ALTER INDEX idx_name MONITORING USAGE;,可通过V$OBJECT_USAGE视图查看利用情况。
  • 重修索引:ALTER INDEX idx_name rebuild;(离线重修);ALTER INDEX idx_name rebuild online;(在线重修)。
(二)统计信息网络


  • 网络:dbms_stats.gather_table_stats('SYSDBA','I1');
  • 查看:dbms_stats.table_stats_show('SYSDBA','I1');
十一、视图管理

(一)视图概念


  • 由SQL语句构成的表,不存储真实数据,只存储查询语句。
(二)视图操作


  • 创建视图:CREATE VIEW v1 AS SELECT * FROM T1;
  • 查询视图:SELECT * FROM V1;
十二、数据库备份规复

(一)备份规复概念


  • 备份:从数据库文件拷贝有效数据页到备份集。
  • 还原:将有效数据页写入目标数据文件。
  • 规复:通过归档日志规复到备份竣事时状态,或指定时间、LSN位置。
(二)备份范例


  • 逻辑备份:利用dexp工具导出数据,关注数据内容。
  • 物理备份:扫描数据文件,拷贝已分配利用的数据页。
  • 联机备份:数据库运行时备份。
  • 脱机备份:数据库关闭时备份,dmrman备份需数据库关闭。
(三)备份操作


  • 联机备份:BACKUP DATABASE BACKUPSET 'bak_db';,可带多种参数。
  • 差异备份示例:完全备份、增量备份、表空间备份、表备份、归档备份等都有相应语句和参数。
(四)DMRMAN备份


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


  • dexp参数及示例:浩繁参数控制导出行为,有全库、用户、模式、表等导出示例。
  • dimp还原:dimp USERID=SYSDBA/fangyu421 FILE=/dmbak/full.dmp LOG=full.log FULL=Y DIRECTORY=/dmbak/dimp/
十三、作业系统

(一)创建备份作业


  • 可进行全量备份和增量备份作业创建,具体操作涉及相关界面设置。
十四、DM8开发

(一)JDBC连接数据库


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


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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

道家人

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表