达梦数据库常用功能及命令记录
达梦数据库语句的使用总体来说跟oracle很接近的,这篇文章主要是把常用的情况和语句做了记录,并且后续还会不断的持续更新
达梦数据库常用说明
1.测试查询语句:select 1;
select top 2 from v$dm_ini;
select from v$dm_ini limit 2;
select * from v$dm_ini where rownum<2;
2.达梦大小写:
DM7.6之前版本默认密码是转为大写存储的,登录时要注意。比如用户设置test/test123456,那么登录的时候用test/TEST123456和TEST/TEST123456可以登录,用test1/test123456和TEST1/test123456就不能登录。如果设置密码时加引号,则存储实际的密码。
DM8版本后大小写默认通用,用户名密码默认统一都存储大写的,登录时用大小写都可以,都转为大写做匹配。如果设置密码时加引号,则存储实际的密码。
3.语句拼接用“||”,如:select username||user_id users from dba_users;
4.oracle支持不等于的写法,DM只支持<>和!=,如下语句
select from dba_users d where d.username <> 'SYS';
select from dba_users d where d.username != 'SYS';
select * from dba_users d where d.username ^= 'SYS';
5.达梦数据库创建表空间数据文件要求最小要32M。添加的数据文件大小最小为4096页大小,如页大小为8K,则可添加的文件最小值为40968k=32M。
6.查看执行计划:explain select ID from TAB1;
启停连接数据库
启停数据库
[root@dm1 dm]# service DmServiceDMSERVER start
[root@dm1 dm]# service DmServiceDMSERVER stop
[root@dm1 dm]# service DmServiceDMSERVER restart
[root@dm1 dm]# service DmServiceDMSERVER status
连接数据库
注:在连接前是已经启动了数据库服务和配置环境变量的
连接命令:
disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 30.904(毫秒)
disql V7.6.0.77-Build(2018.07.17-94714)ENT
Connected to: DM 7.1.6.77
SQL>
如果没有配置环境变量可直接到DM路径的bin目录下操作
[root@dm1 dm]# su - dmdba
[dmdba@dm1 dmdbms]$ cd /home/dmdba/dmdbms/bin
[dmdba@dm1 bin]$ ./disql SYSDBA/DAMENG123@localhost
查看配置信息
查看达梦数据库相关
查看达梦数据库的初始化配置参数信息
select para_name,para_value from v$dm_ini limit 5;
过滤查看数据库的配置端口
select para_name,para_value from v$dm_ini where para_name like '%PORT%';
查看达梦数据库库名
select name,create_time from v$database;
查看达梦数据库实例名及状态
select name,instance_name,start_time,status$ from v$instance;
查看用户相关
查看数据库里所有使用用户
select username,user_id,default_tablespace,profile from dba_users;
查看所有角色
select role from dba_roles;
查看所有表空间
select id,name,max_size,total_size,status$ from v$tablespace;
select tablespace_name,status from dba_tablespaces;
查看所有数据文件
select id,path,max_size,free_size,status$ from v$datafile;
查看日志文件路径信息
select path,rlog_size from v$rlogfile;
查看对象相关
查看所有对象
select from dba_objects;
select from dba_objects where objectname like 'DBA%';
select * from dba_objects where object_name like 'V$%';
查看用户表对象
select owner,table_name,tablespace_name,status from dba_tables where owner='TEST1' limit 5;
查看角色类型
select * from dba_roles;
创建各种对象
创建表空间设定自动扩展
create tablespace TBS_TEST datafile 'TBS_TEST01.dbf' size 128 autoextend on;
创建用户默认表空间
create user USER_TEST identified by "123456789" default tablespace TBS_TEST;
给用户赋值DBA权限
grant dba to USER_TEST;
创建最普通的表
create table tab_test(id int , name varchar(10));
insert into tab_test values(1, 'N1');
insert into tab_test values(2, 'N2');
创建视图
create view v_test as select id,name from tab_test where name='N1';
创建触发器
create table tab_result (log varchar(100));
create or replace trigger tri_test
before insert on tab_test
begin
insert into tab_result values(‘插入’);
end;
创建带参数的存储过程
create or replace procedure pro_test(i in int)
as j int;total int;
begin
for j in 1 ..i loop
insert into tab_test values(j,'aaaaa');
end loop;
end;
调用存储过程
fut_ccgc_dcs (10);