在linux环境下全程使用命令行方式安装和初始化一个数据库,并注册服务后,以服务的方式启动。要求:
1)初始化一个实例名为DMOA,库名为DMOA,端口号为5234,页大小为16,字符集为gb18030,大小写敏感为是的库。2)使用disql新建一个名称为DMDBA的用户,设置密码为dameng_dba,并授予dba角色权限.
3)使用disql新建一个名为TS_DMOA的表空间,新建一个名为DMOA的用户,并设置密码为dameng_oa,设置该用户的默认表空间为TS_DMOA。并授予resource角色权限。
4)使用DMOA用户新建表USERS,并插入数据,然后查询确认数据已经入库
##查看CPU信息
lscpu
##查看操作系统信息
uname -a
##或者
cat /etc/os-release
从图中可以看出,本台机器是CPU是飞腾2000,操作系统是麒麟10。
本案例中使用远程物理机的实验环境,自己下载安装包。从达梦数据库下载中心选用对应版本下载,获取链接让物理机直接下载或是本机上下载后上传。(这里选择的是在本机下载并解压之后上传到远程物理机)
##远程物理机下载
wget https://download.dameng.com/eco/adapter/DM8/202505/dm8_20250507_FTarm2000_kylin10_sp1_64.zip -O dm8.zip
##自己这里下载之后
scp DMInstall.bin test7test@10.76.11.237:/data/test7/rza/DMInstall.bin
检查内存
##获取内存使用详情
free
检查存储空间
df -h 地址
安装过程中会产生临时文件,临时文件目录默认为/tmp。在该实验中,多人使用同一台物理机,因此需要修改安装程序的临时目录,修改方式如下:
DM_INSTALL_TMPDIR=/data/test7/
export DM_INSTALL_TMPDIR
##检查是否修改成功
echo $DM_INSTALL_TMPDIR
##启动交互式安装
./DMInstall.bin -i
这里在第一次安装的时候,系统说权限不够。这里需要手动给一下权限:
chmod 755 DMInstall.bin
进入安装界面
依次选择语言、Key文件、时区、安装类型、安装路径,最后进行安装。
在此过程中出现了一个问题,显示安装路径没有写入权限。
使用这条命令添加写入权限即可
chmod u+w DMInstall.bin
安装结束。
1)初始化一个实例名为DMOA,库名为DMOA,端口号为5234,页大小为16,字符集为gb18030,大小写敏感为是的库。
./dminit path=/data/test7/dmdbms/data DB_NAME=DMOA INSTANCE_NAME=DBOA PAGE_SIZE=16 CHARSET=0 CASE_SENSITIVE=y port_num=6093 SYSDBA_PWD='admin123!@#A' SYSAUDITOR_PWD='admin123!@#A'
启动dmserver
./dmserver /data/test7/dmdbms/data/DMOA/dm.ini
注册服务(需要使用root用户进行注册)
## 进入数据库安装目录的 /script/root 下
./dm_service_installer.sh -t dmserver -dm_ini <dm.ini路径> -p <服务名后缀>
## 进入 DM 安装目录下的 bin 目录下
## 启动服务
./DmService<服务名后缀> start
## 停止服务
./DmService<服务名后缀> stop
## 重启服务
./DmService<服务名后缀> restart
## 查看状态
./DmService<服务名后缀> status
2)使用disql新建一个名称为DMDBA的用户,设置密码为dameng_dba,并授予dba角色权限.
登入disql:
如果密码含有特殊字符的情况下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转义。
./disql SYSDBA/'"admin123!@#A"'@10.76.11.238:6093
或者使用操作终端CONNECT
./disql /nolog
SQL> CONNECT SYSDBA/"admin123!@#A"@10.76.11.238:6093
新建用户并授予权限
CREATE USER "DMDBA" IDENTIFIED BY "dameng_dba";
GRANT "DBA" TO "DMDBA";
COMMIT;
这里密码不符合安全规范,尝试修改系统口令策略,但是并没有成功。
## 动态修改系统参数值
/*
scope:参数作用范围。
1 - 内存级(当前会话有效)
2 - 内存和配置文件级(永久生效)
parameter_name:要修改的系统参数名称
parameter_value:要设置的参数值
*/
SP_SET_PARA_VALUE(scope, parameter_name, parameter_value)
SP_SET_PARA_VALUE(2,'PWD_POLICY',7);
可以看到,可以把口令策略设置为15或31,但是不能设置为7。这是因为在当前版本口令策略最小值是15,已经不支持修改到15以下了。
因此,将密码修改为dameng8_DBA
## 创建
CREATE USER "DMDBA" IDENTIFIED BY "dameng8_DBA";
GRANT "DBA" TO "DMDBA";
COMMIT;
## 查询
SELECT USERNAME, CREATED FROM ALL_USERS ORDER BY CREATED DESC;
SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'DMDBA';
3)使用disql新建一个名为TS_DMOA的表空间,新建一个名为DMOA的用户,并设置密码为dameng_oa,设置该用户的默认表空间为TS_DMOA。并授予resource角色权限。
相关文档详见DBA文档14.1
## 创建表
CREATE TABLESPACE "TS_DMOA"
DATAFILE '/data/test7/dmdbms/data/TS_DMOA.DBF'
SIZE 128 ;
## 创建用户
CREATE USER "DMOA"
IDENTIFIED BY "dameng8_OA"
DEFAULT TABLESPACE "TS_DMOA";
## 授予权限
GRANT "RESOURCE" TO "DMOA";
COMMIT;
## 验证表空间
SELECT TABLESPACE_NAME, STATUS FROM DBA_TABLESPACES WHERE TABLESPACE_NAME = 'TS_DMOA';
## 验证用户及默认表空间
SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME = 'DMOA';
## 验证用户角色
SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'DMOA';
4)使用DMOA用户新建表USERS,并插入数据,然后查询确认数据已经入库。
## 创建表
CREATE TABLE "USERS" (
"ID" NUMBER PRIMARY KEY,
"USERNAME" VARCHAR2(50) NOT NULL,
"AGE" NUMBER(3),
"CREATE_TIME" TIMESTAMP DEFAULT SYSTIMESTAMP
);
INSERT INTO "USERS" ("ID", "USERNAME", "AGE") VALUES (1, '张三', 25);
INSERT INTO "USERS" ("ID", "USERNAME", "AGE") VALUES (2, '李四', 30);
COMMIT;
## 查询
SELECT * FROM "USERS";
至此,所有任务已完成。
文章
阅读量
获赞