达梦数据库DCA考试命令行操作

近期,有幸在公司的支持下,参与了达梦的DCA培训考试,考试内容还是很全面的,尽管可能要求掌握的深度不需要特别深,但覆盖的面确实很全。下来后,我自己在本地把相关的内容用命令行的方式再实现了一遍。因有要求,不能泄露考题内容,所以不会涉及题目本身,只是相关内容而已;而且考试过程,为了提高效率和正确率,大家应该都会使用图形化操作完成。

一.命令行安装

首先,肯定就是在给定的环境下,安装达梦数据库,考试的时候一般这些环境都是配置好了的,但我们自己环境实验,可能就要检查配置了,比如是否有安装限制,查看最大可打开文件数

ulimit -a

#临时设置,仅对当前会话生效

ulimit -n 20480

1.加载镜像内容,考试不用 mount -o loop /opt/dm8* /mnt

2.查看/tmp内存

df -h | grep tmp

若tmp临时目录空间太小,要扩大一点,否则解压完安装文件就报错了。

mount -o remount,size=4G /tmp

3.关闭防火墙,防火墙可以导致网络问题,干扰正常安排,可以直接关闭。

systemctl stop firewalld

4.selinux是linux的安全设置,建议也关闭了

vi /etc/sysconfig/selinux

/selinuc* =disable

5.建立用户,建立规划安装用户,不要直接使用root安装

1) id dmdba 检查安装用户是否已经存在,存在就可以跳过2、3步。

2) group add dinstall,建立安装用户组

3) useradd -g dintsall dmdba,建立安装用户,并加入到用户组中

4) mkdir /dm8                 创建安装目录

5) chown dmdba:dinstall -R /dm8   更改安装目录的所有者为安装用户,后面才能读写目录

6.配置环境变量

1)vi .bash_profile

export DM_HOME=/DM8

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

echo $DM_HOME

source .bash_profile

7.静默安装开始,下面命令执行后按交互式菜单安装即可。

./DMI* -i

8.实例初始化

1)用dmdba用户执行实例初始化,若不是dmdba,可以用 su – dmdba切换用户。

2)使用dminit自带命令直接初始化,该指令在/dm8/bin目录下,可参考如下指令初始化

# dminit path =/dm8/data db_name=DM02 instance_name=DM02 port_num=5236

9.注册实例

使用root用户执行下面脚本,在系统中注册服务。该脚本在/dm8/script/root目录下,可参考如下指令完成注册

./dm_service_installer.sh -t dmserver  -dm_ini /dm8/data/DM02/dm.ini -p DM02

10.启动实例

systemctl start DmServiceDM02.service

注:可用以下两种方式查看是否启动成功

 ps -ef |grep dmserver 或  netstat -ntl | grep 5*

二.表空间操作

创建表空间 Create tablespace tbsprod DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod01.dbf' size 32;      默认自动扩展了

修改表空间的名字:Alter tablespace TBSPROD rename to TBSPRODTEST;

更改表空间文件大小:Alter tablespace “TBSPROD” resize datafile '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' to 64;

 添加数据文件:Alter TABLESPACE TBSPROD ADD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf'size 32;     

以下三步可完成表空间文件迁移:

表空间文件脱机:alter tablespace “TBSPROD” offline;

表空间文件迁移:alter tablespace “TBSPROD” rename datafile '/dm8/data/DMTEST3/tbs/tbsprod01.dbf' to '/dm8/data/DMTEST3/tbsprod01.dbf';

表空间文件联机:alter tablespace “TBSPROD” online;

修改表空间数据文件的位置

alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' AUTOEXTEND off;   修改为不自动扩展

alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' AUTOEXTEND on NEXT 2 maxsize 1024; 开启自动扩展,指定范围

Select * from DBA_DATA_FILES;      查看表空间的数据文件

select * from v$tablespace;        查看存在的表空间

Select * from v$huge_tablespace;   查看大表空间

临时表空间

select para_name,para_value from v$dm_ini where para_name like'%TEMP%' 查看临时表空间参数

sp_set_para_value(2,'TEMP_SIZE',128); 临时表空间大小

三.模式&用户、角色操作

创建用户,因创建用户就同步会创建模式

create user “USERTEST” identified by “123456” default tablespace “TBSPROD”;

Alter user USERTEST identified by …. 修改用户密码

Alter user USERTEST ACCOUNT lock(unlock);  用户锁定解锁

SELECT GRANTEE,PRIVILEGE,TABLE_NAME FROM DBA_TAB_PRIVS WHERE GRANTEE='aaa';查看用户权限信息

REVOKE CREATE TABLE FROM TEST; revoke VTI FROM aaa; 撤销权限

DROP USER USERTEST;       删除用户

创建角色

CREATE ROLE ROLE1;

GRANT CREATE TABLE TO ROLE1;                    给角色分配系统权限

GRANT UPDATE ON SYSDBA.EMP TO ROLE1;  给角色分配对象权限

四.表操作

创建表:

create table t_usertest(

userid int,

username varchar(20) ) tablespace tbs;

修改字段:

alter table t_usertest modify username not null;

添加字段:

alter table t_usertest add phonenumber varchar(30) unique ;

alter table t_usertest add sex bit;

alter table t_usertest add email varchar(20);

删除字段:

alter table t_usertest drop column email;

外键(引用的是另一张表的主键):

create table t_emp

(emp_id int constraint pk_emp_empid primary key,

emp_name varchar(20),

dept_id int )

添加非空约束

create table test.t6(id int);

alter table test.t6 alter column id set not null;

create table “TEST”.”T5″

{ “ID” INT not null }

外键约束

create table test.t10(sid int PRIMARY key,pid int);

create table test.t11(id int PRIMARY key , sid int FOREIGN key REFERENCES test.t10(sid));

五.索引

创建普通二级索引

create index “TEST”.”TAB_IDX” on “TEST”.”TABLE_1″(“ID”) storage(initial 1,next 1,minextents 1,on “TEST”);

六.视图

创建视图,简单视图和复杂视图,复杂视图的关键就是select语句,这里就只写简单视图了。

在模式test下创建视图cw

create view test.cw as

select employee_id,enployee_name salary from dmhr.employee

七.备份

(一)物理备份

1、全量备份(冷备)需关闭服务(我这次考的是物理热备,考虑完整性,我把冷备也放这里了)

A、关闭数据库服务

systemctl stop DmServiceDM02.service

或 /bin  ./Dmservice.sh stop

B、启动dmrman命令行

进入dmdba /dm8/bin

 ./dmrman

C、开始冷备

RMAN> backup database '/dm8/data/DM02/dm.ini' full;

2、全库还原

A、关闭待还原数据库服务

systemctl stop DmServiceDM03.service

B.把DAMENG的数据还原到DM03中

restore database '/dm8/data/DM03/dm.ini' from backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_*;

C、恢复数据库

recover database '/dm8/data/DM03/dm.ini' from backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_*;

D、更新db_magic

recover database '/dm8/data/DM03/dm.ini' update db_magic;

至此就可以启动数据库,验证恢复情况了。

注:查看备份数据

show backupset'/dm8/data/DM03/dm.ini' from backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_*;

(二)物理热备

一定要开归档!!!也是考试内容。

1.开启归档。

A、首先是建立归档文件路径mkdir /dm8/arch

B、用./disql查看归档状态

./disql  username/passwd

select name,status$,arch_mode from v$database

C、开归档需要在mount配置状态

alter database mount;

D、添加归档

alter database add archivelog 'type=local,dest=/dm8/arch,file_size=64,space_limit=0';

E、开启归档

alter database archivelog;

F、恢复数据库到open状态;

alter database open

G、再次查看状态select name,status$,arch_mode from v$database ;显示状态为Y,表示开启成功。

2. disql下备份

整库全备:backup database full backupset '/dm8/backup/fullbak3';

整库增量备:backup database increment backupset '/dm8/backup/incr03';

(三)逻辑备份

逻辑导出整库

/dm8/bin/dexp username/passwd file=dexp01.dmp log=dexp01.log directory=/dm8/backup/dexp full=y

逻辑导入

/dm8/bin/dimp username/passwd file=/dm8/backuo/dexp/dexp01.dmp 

八. 数据迁移

./disql下,使用 start [path]/[filename].sql 执行sql脚本,导入数据

九.作业

call SP_CREATE_JOB('WORK1',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('WORK1');

call SP_ADD_JOB_STEP('WORK1', 'SELECT', 0, 'select * from dmhr.employee;', 0, 0, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('WORK1', 'DIAODU_1', 1, 2, 1, 15, 0, '10:04:02', NULL, '2023-08-15 10:04:02', NULL, '');

call SP_JOB_CONFIG_COMMIT('WORK1');

十.ODBC开发配置

1、在/opt中,解压

tar -xzvf unixODBC-2.3.0.tar.gz

注:验证gcc包,因为在安装过程中要使用到GCC包,考试的时候也可跳过,这个环境是没问题的。 rpm -aq | grep gcc*

2、进入odbc路径:

A.配置ODBC ./configure –enable -gui=0

B.编译并安装 make&&make install

C.在/usr/local/etc 中编辑配置文件

编辑odbc.ini文件:

执行命令:vi odbc.ini 插入以下信息:

[DM8]

Description = DM ODBC DSN

Driver = DM8 ODBC DRIVER

SERVER = localhost

UID = SYSDBA

PWD = SYSDBA

TCP_PORT = 5236

编辑odbc.ini文件:

执行命令:vi odbcnst.ini 插入以下信息:

[DM8 ODBC DRIVER]

Description = ODBC DRIVER FOR DM8

Driver = /dm8/bin/libdodbc.so

切到dmdba账户连接

isql dm8

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容