基于 OS 的身份验证分为本机验证和远程验证,本机验证需要将 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 进行修改,但修改后需要重新启动 DM 服务器才能生效。
基于 OS 的身份验证需要首先将操作系统用户加入到操作系统的dmdba|dmsso|dmauditor 用户组,分别对应数据库的 SYSDBA|SYSSSO|SYSAUDITOR用户。也可以将操作系统用户加入到操作系统的 dmusers 用户组来进行基于 OS 的身份验证,对应数据库的同名用户,即此时数据库中需要存在一个与操作系统用户同名的用户。
一、Windows环境下操作系统用户 dameng 基于 OS 的身份验证登录数据库。
1. 在数据库中创建一个操作系统的同名用户,并修改 INI 参数
CREATE USER dameng IDENTIFIED BY "Dameng@12345";
SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);

2.重启数据库,参数生效
select * from v$dm_ini where PARA_NAME='ENABLE_LOCAL_OSAUTH';

3. 在操作系统中创建 dmusers 用户组,并将操作系统用户 dameng 添加到 dmusers
用户组。
C:\Windows\system32>net localgroup dmusers /add
C:\Windows\system32>net user dameng 123456 /add
C:\Windows\system32>net localgroup dmusers dameng /add


4. 操作系统用户 dameng 基于 OS 的身份验证登录数据库
c:\dmdbms\bin>disql.exe /@localhost:5238 as users

需要切换到dameng用户下

二、Linux环境下操作系统用户 dameng 基于 OS 的身份验证登录数据库。
1. 在数据库中创建一个操作系统的同名用户,并修改 INI 参数
CREATE USER dameng IDENTIFIED BY "Dameng@12345";
SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);

2. 重启数据库,参数生效
[dmdba@localhost ~]$ cd dmdbms/bin
[dmdba@localhost bin]$ ./DmServicetest restart
select * from v$dm_ini where PARA_NAME='ENABLE_LOCAL_OSAUTH';

3. 在操作系统中创建 dmusers 用户组,并将操作系统用户 dameng 添加到 dmusers
用户组。
[root@localhost ~]# useradd dameng
[root@localhost ~]# cd /home/
[root@localhost home]# chmod 755 dameng
[root@localhost home]# groupadd dmusers
[root@localhost home]# usermod -G dmusers dameng
4. 操作系统用户 dameng 基于 OS 的身份验证登录数据库
[root@localhost home]# cd /home/dmdba/dmdbms/bin
[root@localhost bin]# ./disql /@localhost:5236 as users

[root@localhost home]# su dameng
[dameng@localhost home]$ cd /home/dmdba/dmdbms/bin
[dameng@localhost bin]$ ./disql /@localhost:5236 as users





