马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
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中配置相关参数,如:
- 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();
四、用户管理
(一)相关视图
(二)三|四权分立
- 系统管理员(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企服之家,中国第一个企服评测及商务社交产业平台。 |