IT评测·应用市场-qidao123.com
标题:
达梦数据库学习笔记@1
[打印本页]
作者:
道家人
时间:
2025-2-24 08:16
标题:
达梦数据库学习笔记@1
达梦数据库学习笔记
一、表空间管理
(一)默认表空间
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中配置相关参数,如:
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
复制代码
(二)其他操作
查看状态
: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
:至少包含一个标点符号(英文输入法下,除“和空格外的所有符号)。
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;
复制代码
(四)身份验证模式
数据库认证模式
:利用创建用户时设置的暗码登录。
基于操作系统认证模式
开启相关参数: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';
查看模式和用户对应关系
:
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 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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4