ITPub博客

首页 > 数据库 > 国内数据库 > 达梦数据库安装

达梦数据库安装

原创 国内数据库 作者:iceaqr 时间:2020-05-27 14:19:23 0 删除 编辑

一、 环境准备

 

Vm虚拟机,中标麒麟6.0-64bit的iso操作系统镜像,odbc安装镜像

 

二、 实现过程

 

1、 首先我们来安装vm虚拟机。这个很简单双击虚拟机的安装文件就可以了。

 

2、在虚拟机中安装中标麒麟6.0-64bit操作系统

 

创建新的虚拟机,自定义。高级

 

随后安装操作系统。

 

选择后centos6.0 64 。这里用到的中标麒麟系统的内核是centos6.0.配置好的就选2个u,2个核。安装目录自己定。其他都是默认下一步。

 

右键点击虚拟机。设置里把centos系统的ios镜像加载到光驱中,开始启动虚拟机。镜像从光驱引导,开始装系统。如果没成功启动,把vm软件关了重启。或者电脑重启。我每次都要重启电脑才可以。安装完成后,重新引导重启。进入linux操作系统。

 

3.修改IP地址。让xshell可以远程。

 

4.用桥接的网络连接模式。将主机和虚拟机的ip配置在同一个网段,相同网关,可以在主机中使用用xshell模拟远程登陆操作,

 

5.右键打开终端创建一个opt文件夹里边编辑dm.sh

[root@localhost ~]# mkdir /opt

[root@localhost ~]# cd /opt

[root@localhost opt]# vim dm.sh

dm.sh内容如下

#!/bin/bash

 

echo "Now create dinstall groups."

echo "Plus 'dmdba',Also setting the Environment."

groupadd dinstall

 

useradd -g dinstall -d /home/dmdba -s /bin/bash -c "dmdba Infrastructure Owner" dmdba

echo "dmdba" | passwd --stdin dmdba

echo 'PATH=$DM_HOME/bin:$PATH:$HOME/bin:$DM_HOME/tool'>> /home/dmdba/.bash_profile

echo "export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'" >> /home/dmdba/.bash_profile

 

cd /home/dmdba

     

su - dmdba -c ". ~/.bash_profile"

 

echo "The Groups and users has been created."

echo "The Environment for dmdba also has been set successfully."

 

echo "Now create the necessary directory for dmdba users and change the authention to dmdba users..."

mkdir -p /dm7/

 

chown -R dmdba:dinstall /dm7

chmod -R 775 /dm7

echo "The necessary directory for dmdba users and change the authention to dmdba users has been finished"

 

 

#Purpose:Change the /etc/security/limits.conf.

echo "Now modify the /etc/security/limits.conf,but backup it named /etc/security/limits.conf.bak before"

 

cp /etc/security/limits.conf /etc/security/limits.conf.bak

echo "dmdba soft nofile 4096" >>/etc/security/limits.conf

echo "dmdba hard nofile 65536" >>/etc/security/limits.conf

echo "Modifing the /etc/security/limits.conf has been succeed."

 

echo "Now disable iptables"

service iptables stop

chkconfig iptables off

service iptables status

echo "Disable iptables successfully."

 

#Modify Selinux

echo "Now disable Selinux."

sed -i 's/enforcing/disabled/g' /etc/sysconfig/selinux

 

echo "Disable Selinux successfully."

 

 

 

#mount dm7 iso dm7iso

cd /root

echo "mount dm7 iso"

read -p "isoPath:" path

echo "mount -o loop $path /mnt" > mountdm7iso.sh

chmod 755 mountdm7iso.sh

./mountdm7iso.sh

 

 

#install DM7 program

 

get_char()

{

SAVEDSTTY=`stty -g`

stty -echo

stty cbreak

dd if=/dev/tty bs=1 count=1 2> /dev/null

stty -raw

stty echo

stty $SAVEDSTTY

}

 

 

echo "Press any key to continue!"

char=`get_char`

echo ""

echo "Now install dm7"

echo ""

 

 

 

su - dmdba -c "/mnt/DMInstall.bin -i"

 

get_char()

{

SAVEDSTTY=`stty -g`

stty -echo

stty cbreak

dd if=/dev/tty bs=1 count=1 2> /dev/null

stty -raw

stty echo

stty $SAVEDSTTY

}

echo "Press any key to continue!"

char=`get_char`

echo ""

 

 

 

echo "Now create DmApservice and the other directory for dmdba users and change the authention to dmdba users..."

echo ""

/dm7/script/root/root_installer.sh

 

mkdir -p /dm7/data/

mkdir -p /dm7/backup/

mkdir -p /dm7/arch/

chown -R dmdba:dinstall /dm7

chmod -R 775 /dm7

 

 

 

echo "Now create database instance"

 

 

su - dmdba -c "/dm7/bin/dminit path=/dm7/data/ db_name=PROD instance_name=TEST port_num=5237 CHARSET=0 EXTENT_SIZE=16 PAGE_SIZE=16 CASE_SENSITIVE=1 SYSDBA_PWD=Dameng123 log_size=500 ARCH_FLAG=1 TIME_ZONE=+08:00 LENGTH_IN_CHAR=1"

 

get_char()

{

SAVEDSTTY=`stty -g`

stty -echo

stty cbreak

dd if=/dev/tty bs=1 count=1 2> /dev/null

stty -raw

stty echo

stty $SAVEDSTTY

}

 

 

echo "Press any key to continue!"

char=`get_char`

echo ""

echo "Now create Dmserver"

echo ""

 

 

/dm7/script/root/dm_service_installer.sh -t dmserver -p TEST -i /dm7/data/PROD/dm.ini

 

 

echo "Now start database instance"

sleep 3

service DmServiceTEST start

编辑完成授权dm.sh,并执行文件

[root@localhost opt]# chmod 777 dm.sh

[root@localhost opt]# ./dm.sh


6.打开DM管理器

 --查询版本

 select * from v$version;

 

--增加日志文件

alter database add logfile '/dm7/data/PROD/PROD03.log' size 256;

 

--修改日志文件大小到500m

alter database resize logfile '/dm7/data/PROD/PROD01.log' to 500;

alter database resize logfile '/dm7/data/PROD/PROD02.log' to 500;

alter database resize logfile '/dm7/data/PROD/PROD03.log' to 500;

 

--修改数据库兼容模式 2 oracle 3:MS SQL SERVER 4:兼容MYSQL 1:兼容SQL92标准

sp_set_para_value(2,'COMPATIBLE_MODE',2);

 

--扩大链接数到150

sp_set_para_value(2,'MAX_SESSIONS',150);

 

 

 

--查询密码策略 0: 无策略 1: 禁止与用户名相同 2: 口令长度不小于9 4: 至少包含一个大写字母(A-Z) 8 :至少包含一个数字(0-9) 16:至少包含一个标点符号 0: 无策略;

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

--设置密码策略 可以相加 1+2+4+8 重启动生效

sp_set_para_value(2,'PWD_POLICY',15);

 

--创建表空间tbs 两个数据文件,初始大小128m,每次扩展4m,最大10GB

create tablespace tbs datafile '/dm7/data/PROD/TBS01.dbf' size 128 autoextend on next 4 maxsize 10240,

'/dm7/data/PROD/TBS02.dbf' size 128 autoextend on next 4 maxsize 10240;

 

--创建用户TEST,密码Dameng123,默认表空间tbs

create user TEST identified by "Dameng123" default tablespace tbs;

 

--授予用户TEST资源管理角色权限RESOURCE

grant RESOURCE to TEST;

 

 --新建连接,以test用户打开建表sql

 

  --查询系统预置权限(对表\视图的)

select distinct(privilege) from dba_sys_privs where privilege like '%TABLE%' order by privilege;

select distinct(privilege) from dba_sys_privs where privilege like '%VIEW%' order by privilege;

 

 

 

 --授予用户test 员工表和部门表增删改查权限 (先创建)

grant select,delete,insert,update on "TEST"."DEPARTMENT" to test

grant select,delete,insert,update on "TEST"."EMPLOYEE" to test

 

 

 --创建角色r1,拥有视图v1查询权限,员工表查询权限

 create role r1;

 grant select,delete,insert,update on "TEST"."EMPLOYEE" to r1;

 grant select on test.v1 to r1;

 

--创建用户user1,拥有角色r1权限

create user user1 identified by "Dameng123" default tablespace tbs;

grant r1 to user1;

 

--授予user1,部门表部门ID查询权限

grant select (DEPARTMENT_ID) on test.DEPARTMENT to user1;

 

7.使用test用户连接

 创建部门表 -主键DEPARTMENT_ID -NOT NULL 非空约束 -PRIMARY KEY 主键(唯一非空) -unique 唯一约束

 CREATE TABLE "TEST"."DEPARTMENT"

(

"DEPARTMENT_ID" DEC(4,0) NOT NULL,

"DEPARTMENT_NAME" VARCHAR(30) NOT NULL,

"MANAGER_ID" DEC(6,0) ,

"LOCATION_ID" DEC(4,0),

CONSTRAINT "DEPT_ID_PK" NOT CLUSTER PRIMARY KEY("DEPARTMENT_ID"))STORAGE(ON "TBS", CLUSTERBTR);

 

--创建员工表  -外键DEPARTMENT_ID关联部门表DEPARTMENT_ID -主健EMPLOYEE_ID

CREATE TABLE "TEST"."EMPLOYEE"

(

"EMPLOYEE_ID" DEC(6,0) NOT NULL,

"EMPLOYEE_NAME" VARCHAR(20) NOT NULL,

"EMAIL" VARCHAR(25) NOT NULL,

"PHONE_NUM" VARCHAR(20) unique,

"HIRE_DATE" DATETIME(6) NOT NULL,

"JOB_ID" VARCHAR(50) NOT NULL ,

"SALARY" DEC(8,2),

"COMMISSION_PCT" DEC(2,2),

"MANAGER_ID" DEC(6,0),

"DEPARTMENT_ID" DEC(4,0),

NOT CLUSTER PRIMARY KEY("EMPLOYEE_ID"),

CONSTRAINT "EMP_DEPT_FK" FOREIGN KEY("DEPARTMENT_ID") REFERENCES "TEST"."DEPARTMENT"("DEPARTMENT_ID"))STORAGE(ON "TBS", CLUSTERBTR);

 

--创建试图v1 员工表中 EMPLOYEE_ID ,EMPLOYEE_NAME,DEPARTMENT_ID,部门表中DEPARTMENT_NAME

create or replace view v1 as select EMPLOYEE_ID ,EMPLOYEE_NAME,EMPLOYEE.DEPARTMENT_ID,DEPARTMENT_NAME 

from EMPLOYEE,DEPARTMENT 

where EMPLOYEE.DEPARTMENT_ID=DEPARTMENT.DEPARTMENT_ID;

 

--员工表job_id创建索引

create index ind_emp on "TEST"."EMPLOYEE"(JOB_ID);

 

--查询当前用户权限、角色

select * from USER_TAB_PRIVS

select * from USER_ROLE_PRIVS

 

 

--备份

--查询归档模式 N非归档 Y归档  热备份不丢数据要打开归档

select arch_mode from v$database;

 

--打开归档

--切换到mount

alter database mount;

--指定归档日志路径 大小

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

--打开归档

alter database archivelog;

--切换到open

alter database open;

--热备份 完全备份

backup database full backupset '/dm7/backup/full-wanquanbeifen';

--热备份 增量备份

backup database increment backupset '/dm7/backup/incr-zengliangbeifen;

--还原备份

service DmServicePROD restart
SQL> alter database open; 
SQL> restore tablespace tbs from backupset ‘/dm7/backup/full-wanquanbeifen’;
SQL> alter tablespace tbs online;


ODBC安装

[root@dm1 桌面]# tar -zxvf unixODBC-2.3.0.tar.gz

./configure

安装 如果指定路径: --prefx指定路径

[root@dm1 unixODBC-2.3.0]# ./configure

make

[root@dm1 unixODBC-2.3.0]# make

make install

[root@dm1 unixODBC-2.3.0]# make install

安装路径

touch /usr/local/etc/odbcinst.ini

touch /usr/local/etc/odbc.ini

获取版本信息和配置文件路径

查看版本信息:[root@dm1 etc]# odbc_config –version

查看位置

[root@dm1 etc]# odbc_config –odbcini  (DSN)

[root@dm1 etc]# odbc_config –odbcinstini (驱动)

 

配置DSN

[root@dm1 etc]# vim odbc.ini

[dm]

Description = DM ODBC DSN

Driver = DM7 ODBC DRIVER (驱动名字)

SERVER = localhost (服务器)

UID = SYSDBA (用户名)

PWD = SYSDBA (密码 )

TCP_PORT = 5237 (端口号)

配置驱动

      [root@dm1 etc]# vim odbcinst.ini

[DM7 ODBC DRIVER]

Description = ODBC DRIVER FOR DM7

Driver = /dm7/bin/libdodbc.so (驱动路径)

1. 测试

 isql     

root连接会报错

[root@dm1 etc]# isql dm

[ISQL]ERROR: Could not SQLConnect

需要到dmdba登录


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69973652/viewspace-2694690/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 达梦数据库安装
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-05-07

  • 博文量
    2
  • 访问量
    1284