1、 开机自启
Linux系统
(1)打开达梦数据库安装目录下的dmmgr.conf文件,该文件通常位于(达梦安装目录)$DMDBS_HOME/bin 目录下。
(2)修改dmmgr.conf文件中的AUTOSTART参数值为YES,即将该行修改为:AUTOSTART=YES。
(3)保存并关闭dmmgr.conf文件。
(4)在终端中执行以下命令,将达梦数据库添加到系统服务列表中:
chkconfig --add dmmgr
(5)设置达梦数据库服务开机自启动:
chkconfig dmmgr on
(6)启动达梦数据库服务:
service dmmgr start
(7)现在,达梦数据库已经设置为开机自启,并且已经启动。您可以通过以下命令来检查达梦数据库服务是否正在运行:
ps -ef | grep dm
Windows系统
(1)创建一个新的批处理文件,比如名为 “dmmgr_start.bat”。
(2)在批处理文件中添加以下内容:
@echo off
net start dmfdmmd
其中,dmfdmmd 为达梦数据库服务的名称,如果您的服务名称不同,请修改为您的服务名称。
(3)将批处理文件放置在达梦数据库安装目录下的bin目录中,通常路径为:C:\Program Files\DM\DBS\bin。
(4)在开始菜单中右键点击“计算机”,选择“管理”,打开计算机管理窗口。
(5)在左侧导航栏中,展开“任务计划程序”,然后选择“创建基本任务”。
(6)按照向导提示设置触发器和操作,具体步骤如下:
(6.1)设置触发器:选择开机自启。
(6.2)设置操作:选择运行程序,输入以下内容:
cmd.exe /c "C:\Program Files\DM\DBS\bin\dmmgr_start.bat"
其中,“C:\Program Files\DM\DBS\bin\dmmgr_start.bat”为您之前创建的批处理文件的完整路径。
(7)完成以上步骤后,保存并退出任务计划程序。
2、启动/停止
Linux系统
(1)启动
$(达梦的安装路径)DMDBS_HOME/bin/startup.sh
(2)停止
$(达梦的安装路径)DMDBS_HOME/bin/shutdown.sh
Windows系统
(1)启动
net start dmfdmmd
(2)停止
net stop dmfdmmd
请注意,这些命令需要以管理员身份运行。如果您没有管理员权限,请在命令前加上 “runas /user:Administrator” 来提升用户权限。
3、创建表空间/创建用户
-- 新建表空间 dmtest 并指定数据文件和大小(大小M)
-- 默认dmtest.dbf在data目录下/home/dmdba/data/DAMENG/dmtest.dbf
CREATE TABLESPACE dmtest DATAFILE 'dmtest.dbf' SIZE 128;
-- 查看表空间
select * from v$tablespace;
-- 创建用户并指定默认表空间
CREATE USER "cheng" IDENTIFIED BY "cheng123456" DEFAULT TABLESPACE "dmtest";
-- 分配权限
GRANT DBA TO cheng;
4、创建表,插入记录,查询记录
-- 创建一张学生表
CREATE TABLE student (
id int primary key,
name varchar NOT NULL,
age int,
birthday date,
telephone varchar
);
-- 插入一条记录
INSERT INTO student values(1,'张三',18,'2019-11-28','17788886666');
-- 查询学生表
SELECT * FROM student;
5、切换登录
(1)LOGIN
直接输入 login 命令,按提示输入账号密码登信息,可以切换登录
(2)LOGOUT
LOGOUT 命令从登录主库注销会话。断开连接而不退出 DIsql。
退出登录之后再使用 login 命令登录需要切换的用户
(3)CONN[ECT] 连接
使用 CONN[ECT] 命令建立新会话时,会自动断开先前会话 。
conn <username>[/<password>][*<MPP_TYPE>] [@<server>]
6、查询实例信息
select name inst_name from v$instance;
7、查询数据库当前状态
select status$ from v$instance;
8、查询DB_MAGIC
select db_magic from v$rlog;
9、查询是否归档
select arch_mode from v$database;
10、查询授权截止有效期
select EXPIRED_DATE from v$license;
11、查看等待情况
select class_name,total_waits count from v$wait_class;
12、查看数据库配置端口
select para_name,para_value from v$dm_ini where para_name like '%PORT%';
13、查询数据库最大连接数
select SF_GET_PARA_VALUE(2,'MAX_SESSIONS');
14、查询命令执行计划
explain select * from test_table;
15、查询用户密码限制登录次数和密码过期天数
select u.username,p.FAILED_NUM,p.life_time from SYSUSERS p,dba_users u where p.FAILED_NUM not in ('0') order by 1,2 ;
16、查询数据库字符集
select SF_GET_UNICODE_FLAG();
17、修改密码策略
SP_SET_PARA_VALUE(1,'PWD_POLICY',3);
系统支持的口令策略有:
0无策略
1禁止与用户名相同
2口令长度不小于9
4至少包含一个大写字母(A-Z)
8至少包含一个数字(0-9)
16至少包含一个标点符号(英文输入法状态下,除”和空格外的所有符号)
口令策略可单独应用,也可组合应用。比如我们即要求禁止用户名与密码相同,又要求口令至少包含一个大写字母,则设置口令策略为1+4=5即可。
18、查看密码策略
select * from v$dm_ini a where a.PARA_NAME = 'PWD_POLICY';
19、查看每个用户的密码策略
select username,password_versions,account_status from dba_users;
20、查询归档信息
select * from v$dm_arch_ini;
21、查看控制文件
select para_value name from v$dm_ini where para_name='CTL_PATH';
22、查询日志文件
select GROUP_ID ,FILE_ID,PATH,CLIENT_PATH from v$rlogfile;
23、查询数据库占用空间
默认为M为单位
select sum(bytes/1024/1024)|| 'M' from dba_data_files;
24、查询数据文件位置
select GROUP_ID , ID ,path,STATUS$ from v$datafile;
25、查询表空间大小
select FILE_NAME,FILE_ID,TABLESPACE_NAME,BYTES/1024/1024||'M' from dba_data_files;
26、查看表空间使用情况
select t1.NAME tablespace_name,
t2.FREE_SIZE*SF_GET_PAGE_SIZE()/1024/1024 ||'M' free_space,
t2.TOTAL_SIZE*SF_GET_PAGE_SIZE()/1024/1024 ||'M' total_space,
t2.FREE_SIZE*100/t2.total_size "% FREE"
from V$TABLESPACE t1, V$DATAFILE t2 where t1.ID=t2.GROUP_ID;
27、查询当前用户模式
SELECT SYS_CONTEXT ('userenv', 'current_schema') FROM DUAL;
28、查询数据库有哪些用户
select username from dba_users;
29、查询数据库用户信息
select username,user_id,default_tablespace,profile from dba_users;
30、查看数据库对象
select t2.name owner,t1.subtype$ object_type,t1.valid status,count(1) count# from sysobjects t1,sysobjects t2 where t1.schid=t2.id and t1.schid!=0 group by t2.name,t1.subtype$,t1.valid;
31、查询用户对象
select * from user_objects;
32、查看角色类型
select * from dba_roles;
33、查看用户的角色和权限
select * from SYS.DBA_ROLE_PRIVS ;
34、表空间脱机/在线
alter tablespace "TEST" offline;
alter tablespace "TEST" online;
35、查询总表数量
select count(*) from dba_tables;