一、 数据库安装
经验:安装之前需要确认以下信息,考试机环境基本没问题,为了节约时间可以直接跳过。
1.1 安装前确认
1.1.1 查看CPU 信息
lscpu
1.1.2 查看操作系统信息
uname -r
注意:内核版本需要在2.6以上,否则在安装过程中会报错。
1.1.3 查看glibc、gcc版本
glibc
1、ldd --version
gcc
2、gcc –-version
1.1.4 查看磁盘容量
df -h
1.1.5 查看内存
free -m
1.2安装规划
1.2.1 创建用户组
1、groupadd dinstall
1.2.2 创建用户
1、useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba(创建用户)
1.2.3 创建安装目录
1、mkdir /dm8(创建文件夹)
2、chown dmdba:dinstall /dm8(更改文件夹的所属用户组、所属用户)
3、ll -ld /dm8(查看是否成功)
1.3 挂载镜像文件
将下载的iso镜像文件上传到服务器上后,进行挂载操作(考试的时候,可能已经挂载,直接安装即可)。
1、mkdir /mnt/dm(创建挂载点)
2、mount /opt/《镜像名称》 /mnt/dm(挂载镜像)
3、su – dmdba(切换dmdba用户)
4、cd /mnt/dm(打开挂载点)
5、ll(查看文件)
6、chmod 775 /mnt/dm/DMInstall.bin
1.4 开始安装
1.4.1 图形化界面安装
1.4.1.1 置DISPLAY值
1、xhost +(登录root用户操作)
2、echo $DISPLAY(查看root环境变量)
3、su – dmdba(切换用户)
4、echo $$DISPLAY(查看环境变量)
5、export DISPLAY=:O.0(设置环境变量)
6、export DM_INSTALL_TMPDIR=/opt/tmp(tmp不足的情况设置)
1.4.1.2 执行安装
1、cd /mnt/dm(打开镜像文件)
2、ll (查看文件夹内容)
3、./DMInstall.bin(执行安装)
1.5 创建数据库及数据库实例管理
1.5.1 图像化方式
1、cd /dm8/tool
2、./dbca.sh
1.5.2 命令行方式
1、cd /dm8/bin
2、./dminit path=/dm8/data db_name=DMTEST instance_NAME=DMTESTSVR sysdba_pwd=Dameng123 port_num=5238 PAGE_SIZE=16
二、 数据库连接(必考)
2.1 使用disql连接
1、cd /dm8/bin
2、./disql SYSDBA/SYSDBA:5236(连接本地)
3、./disql SYSDBA/SYSDBA@192.168.31.124:5236(连接远程服务器需要添加IP)
2.2 使用图形化工具连接
1、cd /dm8/tool/
2、./manager
三、 参数配置(必考)
3.1 使用图形化修改兼容性
1、cd /dm8/tool
2、./console
3、systemctl restart DmServiceDMSERVER(修改完成后重启服务)。
3.2 密码策略修改
达梦数据库跟ORACLE数据库不一样,它的密码策略是通过设置参数的值来实现的。这个参数是PWD_POLICY。这个参数有6个值,分别代表不同的密码策略:
0:无策略
1:禁止与用户名相同
2:口令长度不小于9
4:至少包含一个大写字母(A-Z)
8:至少包含一个数字(0-9)
16:至少包含一个标点符号(英文输入状态下,除“和空格外的所有符号)
数据库默认的参数值是2,我们可以用如下语句查看当前参数设置情况。
select * from v$parameter where name = ‘PWD_POLICY’;
当然,在实际的数据库应用中,还会存在密码策略的组合应用,比如,我们需要将密码策略设置为:不能和用户名相同且密码长度不少于9位,也就是启用1和2两个策略,这是我们的参数就设置为1+2=3,我们可以用修改语句来配置参数,如下:
alter system set ‘PWD_POLICY’ = 3 both;
总结一下,密码策略是通过pwd_policy值来实现的,策略可以单独应用,也可以组合应用。组合应用时,如需要应用策略2和4,则设置pwd_policy为2+4=6即可实现。
五、 表空间管理(必考)
考试会让你修改temp表空间,需要修改temp_size
select name, value, type from v$parameter t where name like ‘TEMP%’;(查看TEMP表空间)
alter system set ‘TEMP_SIZE’=64 spfile;(调整他)
注意:修改完成后重启服务生效。
5.1 查看表空间
1、select * from dba_tablespaces;
2、select * from dba_data_files;
5.2 创建表空间
create tablespace tbs DATAFILE ‘TBS01.DBF’ size 32;
5.3 修改表空间大小
1、alter tablespace tbs resize datafile‘TBS01.DBF’ to 64;(扩展表空间)
2、alter tablespace tbs datafile ‘TBS01.DBF’autoextend on next 2 maxsize 10240;(修改表空间属性)
5.4 删除表空间
用户自定义的表空间可以删除和脱机,系统定义的表空间不能脱机和删除。
删除后表空间下的数据文件也会级联删除。
1、drop tablespace TBS;(删除表空间)
2、alter tablespace TBS offline;(表空间脱机)
3、alter tablespace TBS online;(表空间联机)
5.5 增加表空间下的数据文件
1、alter tablespace tbs add datafile ‘TBS01.DBF’size 64;(增加表空间的数据文件)
5.5 表空间迁移
迁移时注意:新的表空间路径,必须是由安装数据库的用户进行创建,或者把这个文件夹授予数据库安装用户读写权限,否则会因权限问题报数据库文件路径错误。这里的移动指物理级别的移动。
1、alter tablespace tbs offline;(关闭表空间)
2、alter tablespace tbs rename datafile ‘TBS.DBF’ to ‘/dm8/data/DAMENG/DMTEST/DMTBS01.DBF’;(移动表空间的位置)
3、alter tablespace tbs online;(打开表空间)
5.6 Temp临时表空间(考点)
查询temp表空间参数,达梦数据库启动的时候会根据这几个参数来创建或重建temp表空间。
1、select name, value, type from v$parameter t where name like ‘TEMP%’;(查看TEMP表空间)
2、alter system set ‘TEMP_SIZE’ = 64 spfile;(调整他)
六、 重做日志文件(必考)
6.1 重做日志命令行方式
6.1.1 查看联机日志
1、select * from v$rlog;
2、select * from v$rlogfile;
6.1.2 创建连接日志、修改连接日志大小(达梦只支持往大了改)
1、alter database add logfile ‘DAMENG03.LOG’ size 128;(创建连接日志)
2、alter database resize logfile ‘/dm8/data/DAMENG/DAMENG03.LOG’ to 256;(修改日志大小)
6.1.3 重做日志迁移
1、alter database mount;(设置为mount模式)
2、alter database rename logfile ‘/dm8/data/DAMENG/DAMENG01.log’ to ‘/dm8/data/DAMENG/REDO/DAMENG01.log’;(更改路径)
3、alter database open;(设置为open模式)
6.2 重做日志图像化方式
七、 归档管理(必考)
归档是对REDO的归档,备份归档是为了防止数据丢失,利用归档文件可以恢复数据库里的数据。
7.1 开启归档
1、alter database mount;(设置为mount模式)
2、alter database archivelog;(打开归档)
3、alter database add archivelog ‘type=local,dest=/dm8/arch,file_size=64,space_limit=10240’;(配置路径,文件大小-超过就重新建一个文件,文件总大小-超过限制就会删除以前日志)
4、alter database open;(设置为open模式)
5、selcet arch_mode from v$database;(查询归档状态)
6、select * from sys.”v$ARCH_FILE”;(查看归档文件)
7、select * from v$dm_arch_ini;(查看归档配置)
7.2 关闭及删除归档
1、alter database mount;(设置为mount模式)
2、alter database noarchivelog;(关闭归档)
3、alter database delete archivelog ‘type=local,dest=/dm8/arch’;(删除归档)
4、alter database open;(设置为open模式)
5、selcet arch_mode from v$database;(查询归档状态)
7.3 修改归档空间上限
修改归档修改归档的配置(修改归档空间上限)
alter database modify archivelog ‘type=local, dest=/dm8/arch, SPACE_LIMIT=20480’;
八、 用户角色权限(必考)
8.1 用户管理
8.1.1 用户类型
SYS:内置用户,不能直接登陆
SYSDBA:系统管理员,拥有DBA角色(除了安全、审计其他都管)
SYSAUDITOR:系统审计管理员
SYSSSO:系统安全管理员
SYSDBO:系统安全操作员(达梦安全版才有)
8.2 创建用户
8.2.1 命令行方式
1、 create user lizg identified by “Lizg1988!” default tablespace DMTEST;(创建用户)
2、select * from v$parameter t where t.name = ‘PWD_POLICY’;(查看密码策略)
3、alter system set ‘PWD_POLICY’ = 3 both;(修改密码策略)
4、select * from dba_users;(查看数据库用户密码信息)
5、alter user lizg limit FAILED_LOGIN_ATTEMPS 5,PASSWORD_LOCK_TIME 3;(将密码输错次数改为5,锁定时间为3分钟)
6、alter user lizg account unlock;(手动解锁)
7、alter user lizg account lock;(手动锁定)
8、select * from dba_users a, sysusers b where a.user_id = b.id;(查看用户资源限制,例如最大并发数)
9、alter user hrtest IDENTIFIED by “Dameng@123”;(修改用户密码)
10、drop user if EXISTS hr;(删除用户)
drop user if EXISTS hr CASCADE; --强制删除转授权限,生产环境慎用
11、select a.pid profileid, b.name profile_name, a.uid userid, c.name user_name from SYSUSERPROFILES a, SYSOBJECTS b, SYSOBJECTS c where a.PID = b.id and a.UID = c.ID;(查询用户使用的profile资源限制文件)
12、alter user hr DEFAULT TABLESPACE dmtbs;(修改用户的默认表空间)
8.2.2 创建角色,并授予角色权限
1、create role lizgrole;(创建角色)
2、grant XXXXXX to lizgrole;(授予角色权限)
3、grant lizg to lizg1;(赋予用户)
8.3 角色管理
8.3.1 查看当前用户拥有的权限
1、select * from session_privs;查看当前用户拥有的权限:
8.3.2 设置指定用户最大并发量
1、alter user hrtest limit SESSION_PER_USER 3;(设置用户名为hrtest的用户,最大连接数为3)
8.3.3 设置可以赋予其他用户在非当前用户模式下创建对象权限
1、select * from v$parameter where name = ‘ENABLE_DDL_ANY_PRIV’;(查看参数)
2、alter system set ‘ENABLE_DDL_ANY_PRIV’=1 both;(开启参数)
3、grant create any table to hrtest;(进行授权)
8.3.4添加查询权限
1、grant selcet on dmhr.departement to hrtest;
8.3.5添加修改、删除权限
1、grant selcet on dmhr.departement to hrtest;
8.3.7 回收权限
回收权限注意
如果回收的角色,带有转授权限,那么需要加关键字,对其转授出去的角色一并级联回收。
1、revoke lizg from lizg;
2、revoke create table from lizg;
九、 模式对象管理(必考)
9.1 创建模式
注意创建用户前,需要授予用户创建模式的权限
1、create scheam 模式名 authorization 用户名;
2、grant create schema to 用户名;–创建模式
create schema hrtest01 AUTHORIZATION HRTEST;
create table hrtest01.t_test(id int, name varchar(20));
9.2 查询模式
1、select * from SYSOBJECTS where t.TYPE$ = ‘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 q.pid = b.id;(查询模式和所属用户)
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;讲义
3、select sys_context(’USERENV’,’CURRENT_SCHEMA’);(查询当前模式)
4、select user;(查询当前模式)
9.3 切换模式
注意:这个切换只对当前会话生效,咨询过老师,目前没有方法可以设置永久生效。
1、set schema 模式名;
9.5 删除模式
drop SCHEMA IF EXISTS HRTEST01;
drop SCHEMA IF EXISTS HRTEST01 CASCADE; --级联删除模式下对象,生产环境慎用。
十、 表管理(必考 建表、加约束)
10.1 创建表
1、create table hrtest.t_testpid(pid int,pname varchar(20),sex bit,logtime datetime) TABLESPACE dmtbs;(创建表)
2、create table t_emp03 as select * from dmhe.employee where 1=0;(只复制表结构不带约束信息)
3、create table t_emp01 as select 8 from dmhr.employee;
create table t_emp02 like dmhr.employee;(复制表结构+表数据)
10.2 调整字段
1、alter table hrtest.t_testpid add column email varchar(20);(添加字段)
2、alter table hrtest.t_testpid modify email varchar(50);(修改字段)
3、alter table hrtest.t_testpid drop logtime;(删除字段)
10.3 添加约束
1、alter table hrtest.t_testpid add CONSTRAINT pk_testpid_pid PRIMARY Key(”pid”);(添加约束)
2、alter table hrtest.t_testchild add CONSTRAINT fk_testpid_pid FOREIGN Key(”pid”) REFERENCES dmtest.t_testpid(”pid”);(添加外键约束,注意REFERENCES表里面的字段必须是主键或者是添加了唯一索引的字段)
3、alter table hrtest.t_testchild add CONSTRAINT ck_testpid_salary CHECK(”salary”>=3000);(添加校验约束)
10.5 索引管理
10.5.1 创建索引
1、create index idx_表名_字段名 ON 表名(字段名);
create index ix_emp01_employeename ON ******HRTEST.T_EMP01(EMPLOYEE_NAME);
十一、 视图管理(必考)
1、create or replace view aaa as;(创建视图)
2、select * from aaa where age > 10;
十二、 备份还原
12.1 备份
select * from vsdm ini t where t.PARA_NAME in (‘BAK_PATH’,BAK_USE AP);(查看AP服务)
backup database;(创建全量备份到默认路径)
backup database INCREMENT;(创建增量备份到默认路径)
Backup database full to FULLBAK01 backupset ‘/dm8/backup/FULLBAK01’;(库备份)
backup TABLESPACE TBS to TBSFLLBAK backupset‘/dm8/backup/TBSBAK01’;
(表空间备份)
backup table DMTESTT.T_ EMP to EMPBAK BACKUPSET’/dm8/backup/EMPBAK’;
(表备份)
backup ARCHIVE LOG all;(归档备份)
select *from SYS."V$BACKUPSET”;(查看备份信息)
SF_BAKSET_BACKUP _DIR _ADD(‘DISK’ ,‘/dm8/backup/’);(添加备份集目录)
select * from SYS.“V$ARCH_FILE”;(查看归档信息)
select sf_archivelog_delete_before_Isn(803946);(删除归档信息)
checkpoint(100);(归档不连续问题,重置检查点)
关闭数据库:shutdown innediate
12.2 逻辑导出
dexp在达梦的bin目录下
注意需要先创建目录,而且导出用户和导入用户都使用dmdba
12.3 物理导出
12.4 物理导出的还原
十三、 作业管理(必考)
十四、 ODBC配置(必考)
解压ODBC,考试默认在/opt
(1)解压
[root@KylinDCA03 opt]# tar -zxvf unixODBC-2.3.0.tar.gz
(2)源码安装三部曲(配置、编译、安装)
[root@KylinDCA03 opt]# cd unixODBC-2.3.0/
[root@KylinDCA03 unixODBC-2.3.0]# ./configure
注:configure 时可以使用–prefix 参数指定安装路径,不指定使用默认安装路径/usr/local
[root@KylinDCA03 unixODBC-2.3.0]# make
[root@KylinDCA03 unixODBC-2.3.0]# make install
(3) 配置驱动信息 odbcinst.ini 和数据源信息 odbc.ini
[root@KylinDCA04 unixODBC-2.3.0]# odbcinst -j
unixODBC 2.3.0
DRIVERS…: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES…: /usr/local/etc/ODBCDataSources
USER DATA SOURCES…: /root/.odbc.ini
SQLULEN Size…: 8
SQLLEN Size…: 8
SQLSETPOSIROW Size.: 8
[root@KylinDCA03 unixODBC-2.3.0]# cd /usr/local/etc/
116 / 119
[root@KylinDCA03 etc]# ll
总用量 0
drwxr-xr-x 2 root root 6 12 月 22 16:56 ODBCDataSources
-rw-r–r-- 1 root root 0 12 月 22 16:56 odbc.ini
-rw-r–r-- 1 root root 0 12 月 22 16:56 odbcinst.ini
[root@KylinDCA03 etc]# vim odbcinst.ini
[root@KylinDCA03 etc]# vim odbc.ini
[root@KylinDCA03 etc]# cat odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@KylinDCA03 etc]# cat odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5236
测试连接
使用 dmdba 用户执行 isql 测试连接是否正常:
su - dmdba
isql dm8 -v
十五、 数据的导入(补充必考)
DM 在DISQL 下用 start 或都可以, Oracle 用@: SQL> start /dm8/backup/dts/t_department.sql SQL>
/dm8/backup/dts/t_department.sql
文章
阅读量
获赞