达梦数据库安装、配置基本操作

 

  • 初始化环境
      1. 规划用户并修改密码

[root@localhost ~]# groupadd dinstall  

[root@localhost ~]# useradd -g dinstall   -m  -d  /home/dmdba   -s /bin/bash  dmdba

[root@localhost ~]# passwd  dmdba

(echo “dmdba123” passwd –stdin dmdba)

      1. 创建DM_HOME

[root@localhost ~]# mkdir  /dm7

[root@localhost ~]# chown -R dmdba:dinstall  /dm7

      1. 设置用户环境变量

[dmdba@localhost ~]$ vim  /home/dmdba/.bash_profile

 

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm7/bin"

export DM_HOME="/dm7"

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

 

[dmdba@localhost ~]$ source  /home/dmdba/.bash_profile

 

 

  • 安装达梦数据库
    1. 安装软件

[root@localhost zhangay]# unzip  dm7rh720190312.zip

[root@localhost zhangay]#  mount  -o  loop   -t iso9660   dm7_setup_rh6_64_ent_20190717.iso  /mnt

[root@localhost zhangay]# su  -  dmdba

[dmdba@localhost ~]$ /mnt/DMInstall.bin  -i

*****************

[root@localhost ~]# /dm7/script/root/root_installer.sh

    1. 初始化数据库

[dmdba@dbserver ~]$ dminit path=/dm7/data/   DB_NAME= DAMENG INSTANCE_NAME=zhangay PORT_NUM=5236 UNICODE_FLAG=0 PAGE_SIZE=16 EXTENT_SIZE=16 CASE_SENSITIVE=1

 

    1. 实例注册及自动启动设置

[root@localhost root]# cd /dm7/script/root

[root@localhost root]# ./dm_service_installer.sh  -t  dmserver  -i  /dm7/data/DAMENG/dm.ini -p DAMENG

[root@localhost root]# chkconfig  --list  |grep Dm

[root@localhost root]# service DmServiceDAMENG status

[root@localhost root]# service DmServiceDAMENG start

 

 

 

  • 数据库常规创建
    1. 创建表空间

表空间是由一个或多个数据文件构成的,表空间是数据库的一个容器,存放数据库中的数据对象(表,索引等)。

[dmdba@localhost ~]$ disql sysdba/zhangay.0044@127.0.01:5236

SQL> select tablespace_name,status from dba_tablespaces;

 

SQL> select

        d.GROUP_ID,

        t.NAME    ,

        d.PATH

from

        v$datafile d

INNER JOIN v$tablespace t

on

        d.GROUP_ID=t.ID

order BY

        d.GROUP_ID ;

       

 

System:数据字典和全局的系统数据。

Roll:存放了数据库运行过程中产生的回滚记录。

Temp:临时表空间

Main:数据库默认表空间,创建数据对象的时候,如果不指定存放的位置,默认存放在该表空间。

HMAIN:huge表空间

#数据表空间

SQL> select path,CLIENT_PATH,CREATE_TIME    from v$datafile;

SQL> CREATE TABLESPACE TS_TYYW DATAFILE ' TS_TYYW_01.DBF' SIZE 50  autoextend on maxsize 10240;

SQL> ALTER TABLESPACE TS_TYYW ADD DATAFILE 'TS_TYYW_02.DBF' SIZE 50  autoextend on maxsize 10240;

#undo表空间

SQL> select path,CLIENT_PATH,CREATE_TIME, TOTAL_SIZE    from v$datafile;

SQL>select

        t1.NAME tablespace_name,

        t2.FREE_SIZE*SF_GET_PAGE_SIZE()/1024/1024

        ||'M' free_space,

        t2.TOTAL_SIZE*SF_GET_PAGE_SIZE()/1024/1024

        ||'M' total_space,

        t2.FREE_SIZE*100/t2.total_size "% FREE"

from

        V$TABLESPACE t1,

        V$DATAFILE t2

where

        t1.ID=t2.GROUP_ID;

SQL> Alter tablespace roll resize datafile '/dm7/data/DAMENG/ROLL.DBF' TO 256;

 

 

 

 

    1. 删除表空间

SQL> drop tablespace TEST;

 

 

SQL> select t.OWNER,t.TABLE_NAME,t.TABLESPACE_NAME,t.STATUS,t.TABLE_LOCK  from  SYS.DBA_TABLES  t  where t.TABLESPACE_NAME='TEST';

 

SQL> DROP USER TEST CASCADE;

 

 

 

SQL> select du.username,du.default_tablespace  from SYS.dba_users  du  where du.default_tablespace='TS_TYYW';

SQL> select  'drop  user ' || du.username || ' CASCADE;'  from SYS.dba_users  du  where du.default_tablespace='TS_TYYW';

 

    1. 用户管理

在dm数据库中用户管理主要涉及到三块:用户,权限,角色

权限:执行特定类型sql或是访问其他模式对象的权利。

系统权限:数据库对象的创建,删除,修改等等

对象权限:对数据库对象的数据的操作权限。

 

角色:是将具有相同权限的用户组织在一起,这一组具有相同权限的用户称为角色。角色是一组权限的集合,一个权限可以赋给不同的角色。

数据库预定义角色有三个,DBA,PUBLIC,RESOURCE

三权分立和四权分立

三权分立:

数据库管理员(sysdba)

数据库安全员(syssso)

数据库审计员(sysauditor)

 

四权分立:

数据库管理员(sysdba)

数据库安全员(syssso)

数据库审计员(sysauditor)

数据库对象操作员(sysdbo)

所有账号的默认口令都与用户名大写一致。

Syssso:安全员

Sysdba:数据库管理员

Sys:数据库内置管理账号(不能登录数据库)

Sysauditor:审计员

      1. 规划用户

名字:字母开头,a-z,0-9,$#_

位置:对应的表空间

密码:口令策略

0:无策略

1:禁止与用户名相同

2:口令长度不小于9

4:至少包含一个大写字母

8:至少包含一个数字

16:至少包含一个标点符号(英文的状态下输入 除空格和“”)

口令可以单独使用,也可以组合使用。比如说:要求口令策略禁止用户名相同,并且口令长度不小于9,则设置口令策略为3:

创建用户语句password policy 子句来指定口令策略,用户密码最长为48个字节。

Faild_login_attemps:密码尝试登录次数

Password_lock_time:密码失败后锁定时间

Password_life_time:密码过期时间

SQL> select para_name,para_value from v$dm_ini where para_name='PWD_POLICY';

SQL> sp_set_para_value(1,'PWD_POLICY',0);

 

案例1:建立用户test,用户可以创建自己的表,有属于自己的表空间,用户密码要求每60天变更一次。

SQL> create user test identified by dameng123 limit password_life_time 60 default tablespace test;

 

SQL> select grantee,granted_role from dba_role_privs where grantee='TEST';

SQL>  select grantee,privilege from dba_sys_privs where grantee='PUBLIC';

 

 

案例2:规划一个用户test1,用户每60天变更一次密码,密码尝试连接2次失败,账号锁定5分钟,用户能查询dmhr.employee表。

SQL> create user test11 identified by dameng123 limit password_life_time 60,failed_login_attemps 2,password_lock_time 5;

//尝试登录2次后

SQL> select username,account_status,lock_date from dba_users;                    

 

SQL>alter user test1 account unlock;

操作已执行

已用时间: 17.614(毫秒). 执行号:1856.

SQL> select username,account_status,lock_date from dba_users;  

 

      1. 分配权限

SQL> grant dba to TEST1;

SQL> select grantee,granted_role from dba_role_privs where grantee='TEST1';

SQL> revoke dba from  TEST1;

 

    1. 视图的管理

视图分类:简单视图,复杂视图,物化视图

注意:简单视图和复杂视图不占磁盘空间,物化视图占磁盘空间。

SQL> CREATE VIEW TEST.V_T11  AS SELECT *  FROM TEST.T1;

 

SQL> SELECT  * FROM SYS.DBA_VIEWS WHERE DBA_VIEWS.OWNER='TEST';

 

SQL> drop view "TEST"."V_T11" restrict;

      1. 创建索引

规划索引表空间:表的数据是无序的,索引的数据是有序的。

创建索引表空间。

SQL> create tablespace idx_data datafile '/dm7/data/DAMENG/idx_data_01.dbf' size 32;

 

SQL>grant select on SYS.DBA_VIEWS to test;

 

SQL> create table test.v1 as select * from SYS.DBA_VIEWS;

SQL>create index test.idx_v1_name on test.v1(view_name)  tablespace idx_data;

  • 备份恢复
    1. 备份准备

--备份前数据库要处于归档模式

ALTER DATABASE MOUNT;

ALTER DATABASE ARCHIVELOG;

--添加归档,指定最大大小为200G

ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm7/arch,TYPE=LOCAL,FILE_SIZE=256,SPACE_LIMIT=204800';

ALTER DATABASE OPEN;

    1. 备份准备

[root@localhost BACKUP_FILE_02]#  grep  BAK_PATH /dm8/data/PROD/dm.ini

                CTL_BAK_PATH                    = /dm8/data/PROD/ctl_bak    #dm.ctl backup path

                BAK_PATH                        = /dm8/backup        #backup file path

[root@localhost BACKUP_FILE_02]#

  • 配置ODBC
    1. 备份准备

root@dca01 installdoc]# tar -xzvf unixODBC-2.3.0.tar.gz

 配置 odbc

[root@enmoedu1 unixODBC-2.3.0]# cd unixODBC-2.3.0/

[root@enmoedu1 unixODBC-2.3.0]# ./configure --enable-gui=no

 编译 ODBC

[root@enmoedu1 unixODBC-2.3.0]# make

[root@enmoedu1 unixODBC-2.3.0]# make install

 查看 odbc 的版本

[root@enmoedu1 unixODBC-2.3.0]# odbc_config --version

 查看 ODBC 配置文件的路径

[root@enmoedu1 unixODBC-2.3.0]# odbc_config --odbcini

 

[root@enmoedu1 unixODBC-2.3.0]# odbcinst -j

[root@enmoedu1 ~]# cat /usr/local/etc/odbc.ini

[dm7]

description = DM ODBC

DRIVER = DM7 ODBC DRIVER

SERVER = localhost

UID = SYSDBA

PWD = Dameng123

TCP_PORT = 5237

[root@enmoedu1 ~]# cat /usr/local /etc/odbcinst.ini

[DM8 ODBC DRIVER]

Description = ODBC DRIVER FOR DM8

DRIVER = /dm7/bin/libdodbc.so

isql dm7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值