达梦数据库开发实战
上QQ阅读APP看书,第一时间看更新

1.5.2 disql

disql是达梦数据库自带的一个命令行客户端工具,类似于Oracle数据库的SQLPLUS工具。通过disql可以和达梦数据库实例进行交互式操作。

1.连接数据库实例

disql文件存放在达梦数据库安装路径下的bin文件夹。如图1-50所示,在数据库服务器的命令行模式下直接运行,按照提示输入用户名、密码等信息,即可连接到本地数据库实例。

图1-50

如果本地服务器安装了多个数据库实例,或者需要连接远程的数据库,在disql命令后面需附加上要连接的数据库实例的用户名、密码和数据库实例的IP地址+端口号。达梦数据库通过不同的端口号区分不同的数据库实例,默认端口为5236。例如:

C:\Users\fuqiang>disql sysdba/SYSDBA@172.24.98.147:5236

2.执行语句

disql下除了可以直接执行SQL语句,还可以执行事先写好的SQL脚本文件。例如,先在D盘编辑好文本文件sql_script.sql,输入两行SQL语句,每条语句以分号结束:

select sysdate from dual;
select now();

在disql中使用start命令(注意,start命令行末尾不要加分号),如图1-51所示。

也可以使用“·”键(键盘Esc下方的按键)代替start,如图1-52所示。

图1-51

图1-52

3.使用操作系统认证登录

在Oracle数据库服务器上,可以通过修改配置文件sqlnet.net中的用户认证方式,实现管理员免密码登录。达梦数据库不仅可以实现管理员在服务器端免密码登录,也可以让普通用户在服务器端免密码登录。

达梦数据库的操作系统认证很简单,主要分以下两个步骤。

步骤01 将允许本机操作系统认证的ENABLE_LOCAL_OSAUTH参数设置为1(默认为0):

SQL> SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);

该参数是静态参数,修改后需要重启数据库实例才能生效。

使用DM 8之前的版本可以直接修改参数文件dm.ini,添加ENABLE_LOCAL_OSAUTH=1即可。但这样的方式存在安全隐患。DM 8版本开始将此参数改为了隐含参数,存放在内部数据字典表中,不再保存在参数文件中,但通过视图V$DM_INI仍然可以查到这个参数。

步骤02 在服务操作系统上创建dmdba和dmusers两个用户组,dmdba用户组中的用户可以不用密码,以管理员(sysdba)身份登录数据库;dmusers用户组中的用户需要事先在数据库中创建同名的账号,即可实现免密码登录。

Windows操作系统中的步骤如下。

步骤01 创建dmdba、dmusers两个用户组。

步骤02 将操作系统账号加入这两个用户组,如图1-53所示。

步骤03 在数据库中创建账号fuqiang:

SQL> create user fuqiang identi fi ed by password;

图1-53

步骤04 登录测试:

以sysdba身份登录,如图1-54所示。

图1-54

以普通用户身份登录,如图1-55所示。

图1-55

Linux操作系统中的步骤如下。

步骤01 创建dmdba、dmusers组。

[root@dbserver ~]#groupadd dmdba
[root@dbserver ~]#groupadd dmusers

步骤02 将达梦数据库账号dmdba添加到dmdba、dmusers两个组中。

[root@dbserver ~]#usermod -a -G dmdba,dmusers dmdba

步骤03 在数据库中创建账号dmdba。

SQL>create user dmdba identi fi ed by password;

步骤04 登录测试过程如图1-56所示。

图1-56