跳至主要內容

达梦数据库配置

知识库数据库达梦数据库达梦数据库大约 2 分钟

配置案例

-- 案例1:创建一个用户TEST_USER,有属于自己的存储空间,并且赋予dba的权限。
CREATE TABLESPACE testdb datafile '/opt/dmdbms/data/test/testdb.DBF' size 2000 autoextend on next 100 maxsize 30000 CACHE = NORMAL;
CREATE USER test_user IDENTIFIED BY "trust_user123!" DEFAULT TABLESPACE testdb;
Grant dba to test_user;

-- 案例2:为数据库设置一个用户test,可创建自己表,有属于自己的独立存储空间,密码要求每60天变更一次。
CREATE tablespace test datafile '/dm7/data/DAMENG/test1.dbf' size 32;
CREATE user test identified by dameng123 limit password_life_time 60 default tablespace test;
Grant CREATE table to test;

-- 案例3:规划用户test3,账户30天变更一次密码,密码尝试连接2次,连接失败,锁定5分锁,该用户可以查询dmhr.employee。
CREATE user test3 identified by dameng123 limit password_life_time 30,failed_login_attemps 2,password_lock_time 5;
Grant select on dmhr.employee to test3;

表空间配置

-- 创建表空间
CREATE TABLESPACE testdb datafile 'D:\tools\db\dmdbms\data\test\testdb.DBF' size 2000 autoextend on next 100 maxsize 30000 CACHE = NORMAL;
-- 删除表空间(表空间存在数据,不允许直接删除)
DROP TABLESPACE testdb;
-- 扩展表空间
ALTER TABLESPACE testdb resize datafile 'D:\tools\db\dmdbms\data\test\testdb.DBF' TO 256;
-- 表空间增加数据文件
ALTER  TABLESPACE testdb ADD datafile 'D:\tools\db\dmdbms\data\test1\testdb.DBF' size 50 autoextend on next 1 maxsize 100;
-- 查询表空间的数据文件存储位置
SELECT file_name,tablespace_name FROM dba_data_files;
-- 查询表空间的状态(0---Online   1---offline)
SELECT tablespace_name,status FROM dba_tablespaces;
-- 更改表空间文件位置
ALTER TABLESPACE testdb rename datafile 'D:\tools\db\dmdbms\data\test\testdb.DBF' TO 'D:\tools\db\dmdbms\data\test2\testdb.DBF';
 
 












用户配置

-- 创建表空间
CREATE TABLESPACE testdb datafile 'D:\tools\db\dmdbms\data\test\testdb.DBF' size 2000 autoextend on next 100 maxsize 30000 CACHE = NORMAL;
-- 创建用户并指定表空间
CREATE USER test_user IDENTIFIED BY "test123456!" DEFAULT TABLESPACE testdb;
-- 更改用户密码
ALTER user test_user identified by "test123456#"
-- 锁账户:
ALTER user test_user account lock;
-- 解锁账户
ALTER user test_user account unlock;
-- 删除账户(用户没有相关数据)
Drop user test_user;
-- 删除账户(用户下有数据)
DROP USER test_user cascade;
-- 查看用户的口令策略参数信息
SELECT * FROM v$dm_ini t WHERE t.para_name = 'PWD_POLICY';

用户授权

-- 授予用户cluddb 管理员的权限
GRANT dba TO TEST_USER;
-- 回收用户管理权限
REVOKE dba FROM TEST_USER;

-- 系统权限
SELECT * FROM DBA_SYS_PRIVS t WHERE T.GRANTEE = 'DBA';
-- 对象权限
SELECT * FROM DBA_TAB_PRIVS t WHERE T.GRANTEE = 'DBA';
-- 角色
SELECT * FROM DBA_ROLE_PRIVS t WHERE T.GRANTEE = 'SYSDBA';
-- 列权限
SELECT * FROM DBA_COL_PRIVS t WHERE T.GRANTEE = 'TEST_USER';
-- 查看所有角色
SELECT * FROM DBA_ROLES;
-- 查看所有用户的信息
SELECT username,user_id,account_status FROM DBA_USERS;
-- 查看系统中所有用户对应的角色
SELECT * FROM DBA_SYS_PRIVS;
-- 可查看哪些角色可以授权给用户
SELECT * FROM SESSION_ROLES;
-- 可查询当前拥有哪些系统权限
SELECT * FROM USER_SYS_PRIVS;
-- 可查询当前用户拥有的角色权限
SELECT * FROM USER_ROLE_PRIVS;
-- 查看用户权限:
SELECT name AS "用户名", PRIVILEGE# as "被授权的权限", OPTION$ as "是否可以转授" FROM "SYSOBJECTS",SYS.SYSAUTH$ WHERE "GRANTEE#"=id AND subtype$  ='USER' ORDER BY 1,2;


-- 授权并指定可以转授
REVOKE CREATE TABLE, GRANT  PROCEDURE TO clouddb WITH ADMIN OPTION;