达梦数据库基础学习心得

软件的名称:

dbca.sh数据库配置助手#创建数据实例
manager管理工具
dmservice.sh服务查看器(只有root有权限)启动、关闭服务
dts数据迁移工具***数据***的导入和导出
nca.sh网络配置
Console控制台实例配置;物理备份

系统用户

创建系统用户

[root]# groupadd dinstall    //添加dinstall用户组
[root]# cat /etc/group | grep dinstall    //查看用户组是否存在
[root]# useradd -g dinstall dmdba   //添加dmdba用户在dinstall用户组下面
[root]# cat /etc/passwd | grep dmdba    //查看用户是否存在
[root]# passwd dmdba      //修改dmdba的密码

1、创一个只有dmdba用户可以访问的夹目录

[root]# mkdir /dm8
[root]# chown dmdba:dinstall /dm8

指令提示:切换用户

[root]# su - dmdba

安装达梦数据库

[root]# mkdir /mnt/dm
[root]# mount dm8_setup_rh7.........iso /mnt/dm
[root]# su - dmdba
[dmdba@ ]# cd /mnt/dm
[dmdba@dm]# ./DMInstall.bin
解压安装程序中……
图形化失败……………………………………

如果出现上图中的这种“图形化失败”,使用以下办法:

[root]# xhost +
[root]# xclock      //如果该命令失败,就需要使用下一个标题来进行安装xclock

//如果成功就继续往下
[root]# echo $DISPLAY
:0
[root]# su - dmdba
[dmdba@ ]# export DISPLAY=:0
[dmdba@ ]# xclock
//然后就可以安装dm了
[dmdba@ ]# cd /mnt/dm
[dmdba@dm]# ./DMInstall.bin

2、图形化界面xclock的安装:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、open files最小文件的限制

[root@192 root]# vi /etc/security/limits.conf 

dmdba soft nofile 10240
dmdba hard nofile 65536



##dmdba      ulimit -n 65536(source .bash_profile )

卸载数据库

cd /dm8
./uninstall.sh

PATH文件的修改(安装以后的配置)

[dmdba@ ]# cd
[dmdba@ ~]# vi .bash_profile 

在这里插入图片描述

[dmdba@ ~]# source .bash_profile 
//再加一条
export DISPLAY=:0

---------分割线---------

创建数据库实例

创建数据库实例(图形化界面):

在这里插入图片描述
在这里插入图片描述

**创建数据库实例(命令行方式):

[dmdba@192 ~]$ dminit help
格式: ./dminit     KEYWORD=value
例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16
关键字                     说明(默认值)
--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
····(省略)····

通过下述的命令创建了一个新的实例数据库(DMTEST)

[dmdba@192 ~]$ dminit path=/dm8/data db_name=DMTEST instance_name=DMTESTSERVER port_num=5237

在这里插入图片描述

全过程:

[dmdba@192 ~]$ dminit path=/dm8/data db_name=DMTRY instance_name=DMTRYSERVER port_num=5239
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2021-06-24
 log file path: /dm8/data/DMTRY/DMTRY01.log
 log file path: /dm8/data/DMTRY/DMTRY02.log
write to dir [/dm8/data/DMTRY].
create dm database success. 2020-08-23 22:24:35

[dmdba@192 ~]$ source /home/dmdba/.bash_profile
[dmdba@192 ~]$ dmserver /dm8/data/DMTRY/dm.ini      #启动

查看有哪些数据库

[root@192 data]# ll /dm8/data
总用量 0
drwxr-xr-x 6 dmdba dinstall 307 8月  21 01:01 DAMENG
drwxr-xr-x 5 dmdba dinstall 238 8月  21 21:15 DMTEST

通过dmservice.sh打开数据库服务查看器

在这里插入图片描述

通过上图就可以看到新建的dmtest没有启动

通过dbca.sh(数据库配置助手)注册服务

在这里插入图片描述

查看:./dmservice.sh打开数据库服务查看器(root)

​ 实例服务可以右击删除

[root@192 DMTEST]# cd /dm8/tool
[root@192 tool]# ./dmservice.sh

在这里插入图片描述

通过命令注册服务
[root@192 dm8]# cd /dm8/script/root
[root@192 root]# ll
总用量 44
-rwxr-xr-x 1 dmdba dinstall 27023 8月  21 00:53 dm_service_installer.sh
-rwxr-xr-x 1 dmdba dinstall  8736 8月  21 00:53 dm_service_uninstaller.sh
-rwxr-xr-x 1 dmdba dinstall   579 8月  21 00:53 root_installer.sh

在这里插入图片描述

在这里插入图片描述

数据库的启动状态

图形化界面

​ [root@192 tool]# ./dmservice.sh

在这里插入图片描述

​ 代码方式

[root@192 root]# ps -ef | grep dmserver
dmdba    19677     1  0 20:22 ?     00:00:31 /dm8/bin/dmserver /dm8/data/DAMENG/dm.ini -noconsole
dmdba    78470     1  0 21:37 ?     00:00:11 /dm8/bin/dmserver /dm8/data/DMTEST/dm.ini -noconsole
root      79075   9619  0 22:02 pts/0    00:00:00 grep --color=auto dmserver
[root@192 root]# lsof -i:5236
COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dmserver 19677 dmdba    4u  IPv6  91340      0t0  TCP *:padl2sim (LISTEN)

​ 如上图中的名称一致:

[root@192 root]# cd /dm8/bin
[root@192 bin]# ll Dm*
-rwxr-xr-x 1 dmdba dinstall 13993 8月  21 00:53 DmAPService
-rwxr-xr-x 1 dmdba dinstall 14454 8月  21 00:53 DmAuditMonitorService
-rwxr-xr-x 1 dmdba dinstall 13630 8月  21 00:53 DmInstanceMonitorService
-rwxr-xr-x 1 dmdba dinstall 14101 8月  21 00:53 DmJobMonitorService
-rwxr-xr-x 1 dmdba dinstall 15918 8月  21 01:00 DmServiceDMSERVER
-rwxr-xr-x 1 dmdba dinstall 15922 8月  21 21:36 DmServiceDMTESTSERVER
#################查看的服务的status##############
[dmdba@192 ~]$ cd /dm8/bin
--------------------------------------------------------
[dmdba@192 bin]$ DmServiceDMTESTSERVER status
-----------------------------------------------------------
DmServiceDMTESTSERVER (pid 78470) is running.
[dmdba@192 bin]$ DmServiceDMTESTSERVER stop
Stopping DmServiceDMTESTSERVER:                            [ OK ]
[dmdba@192 bin]$ DmServiceDMTESTSERVER start
Starting DmServiceDMTESTSERVER:                            [ OK ]

或者:

在这里插入图片描述

在这里插入图片描述

---------分割线---------

DM管理工具

图形化界面

在这里插入图片描述

代码方式

[dmdba@192 bin]$ disql
disql V8
用户名:sysdba
密码:

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 8.807(毫秒)
SQL> 



[dmdba@192 bin]$ disql sysdba/SYSDBA@192.168.1.17:5237
SQL> select instance_name from v$instance;   

行号        INSTANCE_NAME
---------- -------------
1           DMTESTSERVER

已用时间: 1.183(毫秒). 执行号:6.
网络配置可以定义ip:port

方便以后的连接

[dmdba@192 bin]$ nca.sh

在这里插入图片描述

修改数据库的状态:

在这里插入图片描述

alter database mount;    --配置状态
alter database open;    --打开状态(只有打开可以与另外两个互换)
alter database suspend;   --挂起状态

在这里插入图片描述

DM管理工具打开语法检查和输入助手:

在这里插入图片描述

---------分割线---------

查看表空间的情况:

select * from DBA_TABLESPACES;
select * from V$TABLESPACE;
select * from V$HUGE_TABLESPACE;

select * from DBA_DATA_FILES;         --查看表空间
select * from V$DATAFILE;         --查看表空间 

在这里插入图片描述

创建用户test,密码为dameng123
create user test identified BY dameng123 DEFAULT TABLESPACE TBS;
create TABLE TEST.t_test AS SELECT * From SYS.DBA_DATA_FILES;

代码创建表空间:

create TABLESPACE tbsprod datafile '/dm8/data/DMTEST/tbs.tbsprod.dbf' size 32;--size必须大于2


alter TABLESPACE TBSPROD add DATAFILE '/dm8/data/DMTEST/tbs/tbsprod02.dbf' size 32;--添加表空间文件路径
alter TABLESPACE TBSPROD datafile '/dm8/data/DMTEST/tbs/tbsprod02.dbf' AUTOEXTEND OFF;--关闭自动填充
alter TABLESPACE TBSPROD datafile '/dm8/data/DMTEST/tbs/tbsprod02.dbf' AUTOEXTEND on NEXT 2 MAXSIZE 1024;  --打开自动填充
alter TABLESPACE TBSPROD RESIZE DATAFILE '/dm8/data/DMTEST/tbs/tbsprod02.dbf' to 64;--表空间文件改成64M
alter TABLESPACE TBSPROD OFFLINE;
alter TABLESPACE TBSPROD ONLINE;
alter TABLESPACE TBSPROD RENAME to TBSPRODtest; --修改表名称

在这里插入图片描述

修改表空间

在这里插入图片描述

表空间脱机可以做什么?
数据迁移
alter TABLESPACE TBSPROD OFFLINE;
alter TABLESPACE TBSPROD RENAME DATAFILE './tbs/tbsprod01.dbf' TO './tbs/tbsprod001.dbf';
alter TABLESPACE TBSPROD RENAME DATAFILE './tbs/tbsprod02.dbf' TO './tbs/tbsprod002.dbf';

删除表空间:

drop TABLESPACE TBSPRODTEST;

【日志】管理服务器的日志文件:

在这里插入图片描述

在这里插入图片描述

代码方式:

alter DATABASE add LOGFILE 'DAMENG04.log' SIZE 32;
重做日志的地址可以修改吗?如果修改应该怎么修改?
可以。通过控制文件的修改。。。。。。或者通过代码如下:
alter DATABASE mount;
alter DATABASE RENAME LOGFILE 'DAMENG04.log' to './redo1/DMTEST04.log' ;

用户

查找所有的用户

select * from DBA_USERS;

在这里插入图片描述

修改用户密码

alter user testuser idenitified by dameng123

resource 里面有create table权限

--授权
grant create TABLE to testuser;
grant resource TO testuser;
--收回
revoke CREATE table FROM testuser;
revoke resource FROM testuser;

换用户登录source

在这里插入图片描述

用户的资源限制

在这里插入图片描述

锁定账号:
在这里插入图片描述

---------分割线---------

角色

查找所有的角色

select * from DBA_ROLES;
--授权
grant ROLE1 to testuser;   --ROLE1是角色名

--收回
revoke ROLE1 FROM testuser;

---------分割线---------

DMSQL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

右连接:
在这里插入图片描述

全连接:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

---------分割线---------

数据的导入和导出

数据的导出

dmdba@192 ~]$ dts    #打开DM数据迁移工具

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

数据的导入

[dmdba@192 ~]$ disql SYSDBA/dameng123@localhost:5237  --进入swl

SQL> start /dm8/data/DAMENG/bak/DMHR_DEPARTMENT.sql

【附件】复制表:(用于对数据的还原)

create TABLE TESTUSER.EMPLOYEE AS SELECT * FROM DMHR.EMPLOYEE WHERE 1=0;
create TABLE TESTUSER.DEPARTMENT AS SELECT * FROM DMHR.DEPARTMENT WHERE 1=0;
-- “where  1=0”是为了只复制表结构

在创建表结构后,导入数据,导入数据方式如下代码:

SQL> start /dm8/data/DAMENG/bak/DMHR_EMPLOYEE.sql      --在终端下运行,没有分号结尾

--同样的方法
SQL> start /dm8/data/DAMENG/bak/DMHR_DEPARTMENT.sql

---------分割线---------

创建视图

create view testuser.v_dept1 
as 
select t.employee_id, t employee_name
from TESTUSER.employee t;

物理备份

冷备(全备份)

首先要在root下关闭DM服务

[root@192 ~]# systemctl stop DmServiceDMSERVER.service 

可以在root下打开 ./dmservice.sh 关闭服务

[dmdba@192 ~]$ cd dm8/bin
[dmdba@192 ~]$ ./dmrman
dmrman V8
RMAN> backup database '/dm8/data/DAMENG/dm.ini' full;    #全备份

在这里插入图片描述

全备份的还原:

RMAN> restore database '/dm8/data/DM新地址/dm.ini' from  '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20200823_214036_030768'; ----第一步

RMAN> recover database '/dm8/data/DM新地址/dm.ini' updatedb_magic;   ---第二步 更新魔术

[dmdba@192 ~]# dmserver  /dm8/data/DM新地址/dm.ini     --第三步  启动数据库


###需要创建一各新的实例

需要创建一各新的实例

dminit path=/dm8/data db_name=DMTEST instance_name=DMTEST port_num=5237

图形化界面方式:

[dmdba@192 ~]$ console     #在控制台工具中操作

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(冷备份可以不做下图操作***************)

在这里插入图片描述

下一步:一定要更新db_magic

在这里插入图片描述

逻辑备份

一定要在数据库启动的情况下

查看数据库是否启动

ps -ef | grep dmserver

启动数据库命令

DmServiceDMSERVER start

逻辑的导出分为:模式的导出、飚的导出、用户的导出,全库的导出

全库的导出:

在这里插入图片描述

在这里插入图片描述

导出表空间了以后,,,导入需要创建表空间

在这里插入图片描述

导入:

创建一个实例数据库(命令行方式创建数据库的方法:)

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值