学习总结-一周

一.掌握了达梦数据库管理软在window及linux平台下的安装部署.

    1. window平台安装,主要是图形化安装:

       (1)根据window系统的版本,下载正确的安装包.并解压缩到文件系统中,如果有光驱,也可以直接把安装光盘,通过光驱加载.

       (2)点击setup.exe,进行图形安装.

       (3)根据安装界面要求,选择相应语言,时区,需要安装的组件.安装目录等信息.(安装路径里的目录,不建议使用包含空格,中文)

       注意: 安装用户对安装路径要有相应的权限, 安装路径要有足够的磁盘空间.

       (4)数据库管理软件安装完毕可以直接初始化数据库,也可以使用DM数据库配置助手初始数据库.

       (5)创建数据库实例时,需要指定数据库模板: 一般用途/联机分析处理/联机事务处理 .

       (6)选择数据库目录.(需要注意,目录权限和目录的存储空间大小)

       (7)输入数据库名称, 实例名,端口号,(实际安装, 应安装前和客户确认)

       (8)根据实际情况,确认控制文件,数据文件,日志文件位置.

       (9)输入数据库相关参数,入簇大小,页大小,日志文件大小,(初始化日志大小建议应修改为2048),字符串比较大小写敏感,字符集等信息.

       (10)输入密码口令.

       (11)选择是否创建示例库.

       (12)核对摘要,点击"完成"进行数据实例的初始化工作.

    2.linux平台安装,有图形化和命令行.

       (1) 核对系统信息,下载合适的安装包, 创建安装用户:

           #groupadd -g 12349 dinstall

            #useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

            #echo "dmdba123" | passwd --stdin dmdba -- 设置密码: dmdba123

       (2) 检查linux系统下的操作系统限制

           #ulimit -a

          #ulimit -n 65536 --open files 建议用户设置为 65536 以上或 unlimited(无限制)。

           #cp /etc/security/limits.conf /etc/security/limits.conf.bak --备份

           #vim /etc/security/limits.conf

       添加:

           dmdba soft nofile 65536

           dmdba hard nofile 65536

       (3)检查系统内存和存储空间

           #grep MemTotal /proc/meminfo  / free -m -- 内存至少1G

           #df -h    -- 查看存储空间(/tmp 至少1G)

       图形安装:

           (1) root用户: xhost + , 挂载安装软件 ,创建数据库管理软件安装目录

               #mount -o loop dm8_20220525_x86_rh6_64.iso /mnt

               #mkdir /opt/dm8 && chown dmdba:dinstall /opt/dm8  -- 创建安装目录,并修改宿主

            (2) 切换到dmdba用户,并设置DISPLAY环境变量

               #su - dmdba   

               $export DISPLAY=192.168.2.99:0.0

          (3) 启动图形安装界面

               $ cd /mnt

               $ ./DMInstall.bin

           (4)图形安装和window图形安装级别一致.(注意: 执行脚本,需要使用root用户)

       命令行安装:

           (1) root用户: xhost + , 挂载安装软件 ,创建数据库管理软件安装目录

               #mount -o loop dm8_20220525_x86_rh6_64.iso /mnt

               #mkdir /opt/dm8 && chown dmdba:dinstall /opt/dm8  -- 创建安装目录,并修改宿主  

           (2) 切换到dmdba用户,使用命令行安装

               #su - dmdba

               $cd /mnt

               $./DMInstall.bin -i

          (3) 选择相应的安装语言,默认中文.验证相应的key文件.选择相应的时区.选择安装类型等,选项与图形安装一样.

          (4) 需要使用root执行提升的命令.

          (5) 使用dminit 初始化数据库. ./dminit help 查看帮助

           ./dminit path=/opt/dm8/data DB_NAME=DAMENG instance_name=DMSERVER EXTENT_SIZE=16 PAGE_SIZE=8 PORT_NUM=5236 LOG_SIZE=2048 SYSDBA_PWD=dameng123 SYSAUDITOR_PWD=dameng123

           

           PATH 初始数据库存放的路径

           EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页

           PAGE_SIZE  数据页大小(8),可选值:4, 8, 16, 32,单位:K

           LOG_SIZE  日志文件大小(256),单位为:M,范围为:256M ~ 2G

           CASE_SENSITIVE  大小敏感(Y),可选值:Y/N,1/0

          (6) 使用 dm_service_installer.sh 注册数据库服务 (script/root/) (root用户执行)

           ./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini  /opt/dm8/data/DAMENG/dm.ini

           -t 服务类型 注册服务类型,支持服务类型:dmap、 dmamon、dmserver 、dmwatcher、dmmonitor 、dmasmsvr 、dmcss 、dmcssm、dmdrs、dmdras、dmdcs、dmdss

             -p 服务名后缀  指定服务名后缀,生成的操作系统服务名为“服务脚本模板名称+服务名后缀”。此参数只针对 5~14 服务脚本生效

            -dm_ini INI文件路径 指定服务所需要的 dm.ini 文件路径。

二.掌握数据库实例的启动和停止

    1.图形界面

       (1) window系统,使用"DM服务查看器",点击启动DmAPService和DmServiceDMSERVER 服务.

       (2) liinux系统(root用户), tools/dmservice.sh ,启动图形界面,配置和window使用相同.

   2.命令行

       (1)linux 系统查看当前服务状态:

       # ps -ef | grep dm.ini  -- 直接查看进程

       (2)root用户操作:

       # systemctl start  DmServiceDMSERVER.service --启动

       # systemctl status DmServiceDMSERVER.service  --查看

      (3)dm用户操作

       $ DmServiceDMSERVER start | status | stop | restart

三.掌握数据库工具的级别操作

   1.disql

    (1)配置用户环境变量:

        $ vim .bash_profile

        添加: 

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

        $ source .bash_profile

    (2)disql 登录: 

        disql <用户名>/<密码>@[<ip>:<端口>] | <服务名>

       -- 服务名 应在 本地的/etc/dm_svc.conf 文件中配置

    $disql SYSDBA/SYSDBA@192.168.2.100:5236 -- 使用 netstat -lanutp | grep dmserver 来查看端口

    (3)运行脚本

        disql SYSDBA/SYSDBA@192.168.2.100:5236 '`"test.sql"'   --disql内使用 start 命令执行脚本     

  2.dmfldr

        dmfldr 工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格式写入文本文件。

  (1)命令示例  dmfldr help 查看帮助

     ./dmfldr SYSDBA/SYSDBA CONTROL='/opt/data/fldr.ctl'

        USERID 必须是命令行中的第一个参数

        CONTROL 必须是命令行中的第二个参数 

 3.dminit 

    (1)查看帮助

        $dminit help

 4.dexp和dimp

    (1)查看帮助

        $ dexp help

        $ dimp help

           

     (2) 备份全库语句

              dexp USERID=SYSDBA/SYSDBA@192.168.2.100:5236 FILE=db_str.dmp DIRECTORY=./ LOG=db_str.log FULL=Y

                or

                dexp USERID=SYSDBA/SYSDBA@192.168.2.100:5236 FILE=/home/dmdba/db_str.dmp LOG=db_str.log FULL=Y

     (3) 设置备份文件大小

             ./dexp USERID=SYSDBA/SYSDBA FILE=db_str%U.dmp LOG=db_str.log FULL=YDIRECTORY=/mnt/data/dexp FILESIZE=128m

    (4) owner 用户(USER01)级别的导出

        ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/mnt/data/dexp

    (5) schemas 方式导出

        ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dexp

    (6) table 表级别的导出

        ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp

    (7) 全库导入

       ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp

    (8) 用户级别导入

        ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/mnt/data/dimp

    (9) 模式级别导入

             ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dimp

    (10) 表级别导入

        ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.logTABLES=table1,table2 DIRECTORY=/mnt/data/dimp

四.DM 基础数据库管理

    1.表管理  -- 使用disql或者使用manager(DM管理工具)连接数据库

        (1)创建表

            --创建表示例语句:

create table PERSON.test(

persionid int IDENTITY(1,1) CLUSTER PRIMARY key ,

sex CHAR(1) not null ,

name VARCHAR(50) not null ,

email varchar(50),

phone VARCHAR(25)

) STORAGE (

INITIAL 5 ,MINEXTENTS 5, NEXT 2 , ON MAIN ,FILLFACTOR 85

) ;

         (2) 查看表

   查看用户占用的空间

SELECT USER_USED_SPACE('TEST_USER')* page/1024 as size_KB;

   查看表占用的空间

SELECT TABLE_USED_SPACE('SYSDBA', 'TEST') * PAGE SIZE_KB;  

   查看索引占用的空间

select * from dba_objects where object_name ='INDEX33555439' ;

SELECT INDEX_USED_SPACE(33555463);

   查看索引使用的页数

SELECT INDEX_USED_PAGES(33555463);

  查看表定义

   CALL SP_TABLEDEF('SYSDBA', 'EMPLOYEE'); -- 用户名,表名要大写.

        (3)删除表

DROP TABLE employee;

         (4)清空表

              --使用 DELETE 语句;

              --使用 DROP 和 CREATE 语句;

 create table...as select * from .. where 1=2;

 drop table ...;

 alter table... rename to ... ;

            --使用 TRUNCATE 语句。

                        TRUNCATE 语句为我们提供了一种快速、有效地删除表所有行的方法。并且 TRUNCATE是一个 DDL 语句,不会产生任何回滚信息。 

    2.索引管理

        (1)创建

            -- 创建索引

CREATE INDEX emp_ename ON emp(ename)

STORAGE (

INITIAL 50,

NEXT

50,

ON

USERS);

        (2)重建索引

SP_REBUILD_INDEX(SCHEMA_NAME varchar(256), INDEX_ID int);  -- SCHEAM_NAME 为索引所在的模式名,INDEX_ID 为索引 ID。

        (3)索引删除

--如下面的语句删除 emp_ename 索引。

DROP INDEX emp_ename;

--删除不存在的索引会报错。若指定 IF EXISTS 关键字,删除不存在的索引,不会报错,如:

DROP INDEX IF EXISTS emp_ename;

        (4)查看索引

    查看索引信息

select * from dba_objects where object_name ='INDEX33555439'

INDEXDEF(INDEX_ID int, PREFLAG int);

    3.视图管理

      -- 创建

create [or replace ] view as select ...

例如:

CREATE VIEW normal_view AS SELECT name FROM person;

CREATE VIEW special_view AS SELECT name, sex, email, phone FROM person;

-- 查看

select * from DBA_VIEWS ;

SELECT b.* FROM SYS.SYSOBJECTS a, SYS.SYSTEXTS b WHERE a.ID = b.ID and a.NAMELIKE '<name>';

-- 查看视图定义

CALL SP_VIEWDEF('SYSDBA', 'VIEW1');

-- 视图编译

ALTER VIEW [<模式名>.]<视图名> COMPILE;

-- 删除

DROP VIEW [IF EXISTS] [<模式名>.]<视图名> [RESTRICT | CASCADE];

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台达梦数据库产品体验站,DM8在线试玩,达梦数据库全系列产品免费下载,官方权威的快速上手文档和产品手册,最活跃的达梦技术社区,面向全行业ISV厂商免费的云适配服务。icon-default.png?t=M7J4https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值