达梦数据库本机操作系统认证登录
本文于 97 天前发布,最后更新于 32 天前

原文地址:https://blog.csdn.net/Mrkill123/article/details/127485381

一、问题概述

达梦数据库基于操作系统身份验证的登录方式类似Oracle的操作系统认证登录方式(/ as sysdba)。
达梦数据库基于操作系统的身份验证分为本机验证和远程验证,本机验证需要将DM配置文件dm.ini的ENABLE_LOCAL_OSAUTH参数设置为1(缺省为0);而远程验证需要将DM配置文件dm.ini的ENABLE_REMOTE_OSAUTH参数设置为1(缺省为0),表示支持远程验证,同时还要将dm.ini的ENABLE_ENCRYPT参数设置为1(缺省为1),表示采用SSL安全连接。这三个参数均为静态参数,可以使用系统过程SP_SET_PARA_VALUE进行修改,重启数据库服务生效。

二、使用说明

基于操作系统的身份验证的准备工作:

  • 需要在操作系统上创建4个用户组,分别为:dmdba、dmsso、dmauditor、dmusers,分别对应数据库中的SYSDBA、SYSSSO、SYSAUDITOR、普通用户。如果只是需要SYSDBA用户基于操作系统本地验证登录,则只需要创建dmdba组即可。
  • 创建好用户组之后,需要将操作系统用户加入到对应的组。另外,如果是将操作系统用户加入到dmusers组,则数据库中需要存在一个与操作系统用户同名的数据库用户

常用的一般是数据库管理员(即SYSDBA)进行基于操作系统的本地身份验证登录。

  • 基于操作系统身份验证登录无需输入数据库用户和密码。
  • 操作系统登录几种用户类型说明
    • 基于操作系统本机身份验证登录的语法:
./disql / as <SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO>
或者
./disql /@<connect_identifier> as <SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO>
其中:<connect_identifier> 为ip:port或者dm_svc服务名

几种类型说明:

(1) SYSDBA
表示登录的用户为SYSDBA用户。
登录命令: ./disql / as sysdba  或者 ./disql /@ip:port as sysdba
需要执行登录的操作系统用户属于dmdba组。

(2) SYSSSO (用于安全版数据库,企业版可以不用)
表示登录的用户为SYSSSO用户。
登录命令:./disql / as syssso 或者 ./disql /@localhost:5236 as sysdba
需要执行登录的操作系统用户属于dmsso组。

(3) SYSAUDITOR
表示登录的用户为SYSSSO用户。
登录命令:./disql / as sysauditor 或者 ./disql /@localhost:5236 as sysauditor 
需要执行登录的操作系统用户属于dmauditor组。

(4) users
表示登录的用户类型为普通用户,非数据库系统用户。
登录命令:./disql / as users  或者 ./disql /@localhost:5236 as users
需要执行登录的操作系统用户属于dmusers组,且数据库中存在和执行登录的操作系统普通用户同名的数据库用户。

(5) AUTO
表示按顺序自动匹配数据库用户类型,即按照语法中的“SYSDBA|SYSSSO|SYSAUDITOR|USERS”顺序自动匹配登录的数据库用户类型。
命令:./disql / as auto   或者 ./disql /@localhost:5236 as auto
需要执行登录操作的操作系统用户满足上述(1) (2) (3) (4)四个中的一个或者多个所需的条件,如果都不满足则会报错。

注意:./disql /@ip:port as sysdba为本地连接时@ip可以省略。

三、测试使用(SYSDBA)

测试SYSDBA等系统用户操作系统本地验证登录

1、设置ENABLE_LOCAL_OSAUTH参数值为1,并重启数据库服务

SQL> select name,value from v$parameter where name='ENABLE_LOCAL_OSAUTH';

行号     name                VALUE
---------- ------------------- -----
1          ENABLE_LOCAL_OSAUTH 0

SQL> SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);
DMSQL 过程已成功完成

---重启数据库服务
[dmdba@localhost bin]$ ./DmService restart
Stopping DmService:                                        [ OK ]
Starting DmService:                                        [ OK ]
---查看参数值为1
[dmdba@localhost bin]$ ./disql
disql V8
用户名:
密码:

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.434(ms)
SQL> select name,value from v$parameter where name='ENABLE_LOCAL_OSAUTH';

行号     name                VALUE
---------- ------------------- -----
1          ENABLE_LOCAL_OSAUTH 1

2、操作系统上创建dmdba组,并将执行本地登录的操作系统用户加入到dmdba组

(1)创建dmdba组

[root@localhost ~]# groupadd -g 10010 dmdba

(2)将操作系统用户加入到dmdba组(作为副组)
本环境达梦数据库安装以及维护等使用的是操作系统用户dmdba,所以这里是将dmdba用户加入到dmdba组。如果达梦数据库软件以及维护的操作系统用户不是使用dmdba,而是其他用户,则将其他用户加入到dmdba组。

[root@localhost ~]# usermod -a -G dmdba dmdba
[root@localhost ~]# id dmdba
用户id=1004(dmdba) 组id=1000(dinstall) 组=1000(dinstall),10010(dmdba)

3、测试SYSDBA操作系统本地验证登录

[dmdba@localhost bin]$ ./disql / as sysdba

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 5.312(ms)
disql V8
SQL> select user();

行号     USER()
---------- ------
1          SYSDBA

已用时间: 2.785(毫秒). 执行号:600.
SQL> 

[dmdba@localhost bin]$ ./disql /@localhost:5236 as sysdba

服务器[localhost:5236]:处于普通打开状态
登录使用时间 : 3.160(ms)
disql V8
SQL> select user();

行号     USER()
---------- ------
1          SYSDBA

已用时间: 2.949(毫秒). 执行号:700.
SQL> 

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇