注册
达梦DCA考试命令行方式准备
专栏/技术分享/ 文章详情 /

达梦DCA考试命令行方式准备

书信一封 2023/08/16 2189 1 1
摘要

0.序

不得不说达梦的图形化界面做的着实不错,但是为了防止考试时遇到意料外的情况,准备了一个启动不起图形化界面的备案

1.静默安装

若有安装限制
查看最大可打开文件数
ulimit -a
#临时设置,仅对当前会话生效 
ulimit -n 20480
###########################3
1.加载光驱 mount -o loop /opt/dm8* /mnt
2.查看/tmp内存
df -h
mount -o remount,size=4G /tmp
3.关闭防火墙

4.selinux
vi /etc/sysconfig/selinux
/selinuc* =disable
5.建立用户
1)id dmdba
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)su - root
2)dminit
# dminit path =/dm8/data db_name=DM02 instance_name=DM02 port_num=5236

8.注册实例
进入root
./dm_service_installer.sh -t dmserver  -dm_ini /dm8/data/DM02/dm.ini -p DM02

9.启动实例
systemctl start DmServiceDM02.service
查看是否启动
 ps -ef |grep dmserver 或  netstat -ntl | grep 5*

2.创造表空间

创建表空间
  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); 临时表空间大小

3.模式、用户、角色

创建用户
    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;  给角色分配权限

4.表

create table "TEST"."TABLE_1"
(
	"ID" CHAR(10) not null ,
	"SNAME" VARCHAR(20) not null ,
	"SEX" CHAR(1),
	"AGE" INT,
	"TEL" VARCHAR(15) not null ,
	"ADDRESS" VARCHAR(50),
	primary key("ID")
)
storage(initial 1, next 1, minextents 1, fillfactor 0, on "STU")
;

comment on table "TEST"."TABLE_1" is 'student info';
 ######
创建表:
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));

5.索引

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

6.视图

创建视图
在模式test下创建视图cw
create view test.cw as 
select employee_id,enployee_name salary from dmhr.employee

e.g. 平均工资大于10000的部门
create view test.cz as
select b.department_name,a.avg1 from
(select department_id,avg(salary) avg1 from dmhr.employee e
	group by department_id having avg(salary)> 10000 ) a 
		join dmhr.department b
		on a.department_id=b.department_id

7.备份

7.1 物理备份

若出现错误号-8003 缺少本地或远程归档,执行checkpoint(100);
######################################
全量备份(冷备)需关闭服务
1. 关闭服务 
systemctl stop DmServiceDM02.service
或 /bin  ./Dmservice.sh stop
2.进入dmdba /dm8/bin
 ./dmrman
3.冷备份
RMAN> backup database '/dm8/data/DM02/dm.ini' full;

还原
1.systemctl stop DmServiceDM03.service
2.把DAMENG的数据恢复到DM03中
restore database '/dm8/data/DM03/dm.ini' from backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_*;

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

热备(一定要开归档!!!)
1.开启归档,建立归档文件路径mkdir /dm8/arch
1)用./disql查看归档状态
./disql  username/passwd
select name,status$,arch_mode from v$database
2)开归档需要在mount状态
alter database mount;
3)添加归档
alter database add archivelog 'type=local,dest=/dm8/arch,file_size=64,space_limit=0';
4)开启归档
alter database archivelog;
5)恢复数据库到open状态;
alter database open
6)select name,status$,arch_mode from v$database显示y

2. disql下
backup database full backupset '/dm8/backup/fullbak3';

增量备(库备份)
./disql
backup database increment backupset '/dm8/backup/incr03';




7.2 逻辑备份

逻辑导出
/bin
./dexp username/passwd@localhost:5236 file=dexp01.dmp log=dexp01.log directory=/dm8/backup/dexp full=y

逻辑导入
/bin
./dimp username/passwd@localhost:5239 
file=/dm8/backuo/dexp/dexp01.dmp
log=/dm8/backup/dexp/dimp01.log

8.还原

所有还原都需要停止实例
除表空间外还原遵循还原-恢复-更新magic的过程

1.停止实例
/bin
./Dm* stop

2../dmrman
restore database '/dm8/data/DM01/dm.ini' tablespace test from backupset '/dm8/backup/FULLONLINE';

3.recover database '/dm8/data/DM01/dm.ini tablespace test;

若为整库还原还需要:
recover database ',.../dm.ini' update db_magic;


4./bin
./Dm* start


9. 数据迁移

./disql
start /../s.sql

b.迁移工具(/tool)

./dts

10.作业

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');

11.ODBC

在/opt中,解压
tar -xzvf unixODBC-2.3.0.tar.gz
#gzip -d unixODBC-2.3.0.tar.gz
验证gcc包:
 rpm -aq | grep gcc*
进入odbc路径:
1.配置ODBC ./configure --enable -gui=0
2.make&&make install
在/etc 中
编辑odbc.ini文件:
执行命令:vim odbc.ini 插入以下信息:
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
编辑odbc.ini文件:
执行命令:vim odbcnst.ini 插入以下信息:
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so

!!!切到dmdba账户连接
isql dm8


00.粘贴

vncconfig -nowin&

Linux编辑文本时提示 “Found a swap file by the name”?
rm /etc/selinux/.config.swp

分辨率
xrandr -s 1920x1200_60

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服