达梦:【1】达梦常用操作

达梦:【1】达梦常用操作

一、登录达梦

sql 复制代码
./disql username/password@ip:port
> select * from dual;

二、创建表空间及用户模式

1、一个用户下可以有多个模式名,一个模式只能跟着一个用户,创建用户会自己生成模式,先创建表空间,再创建用户绑定表空间

sql 复制代码
create tablespace "表空间名称" datafile '表空间名称.DBF' size 32 CACHE = NORMAL;  --创建表空间
create user 用户名称 identified by 用户密码 default tablespace 表空间名称;  --创建用户

2、创建模式

sql 复制代码
CREATE SCHEMA "模式名称" AUTHORIZATION "SYSDBA";

三、查看表空间、用户、模式

1、查看表空间

sql 复制代码
select * from dba_data_files;  --查看所有表空间
select * from dba_free_files;  --查看所有剩余表空间

2、查看用户

sql 复制代码
select * from dba_users;  --查看所有用户

3、查看模式

sql 复制代码
SELECT DISTINCT object_name FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'SCH'  --查询所有的模式名

4、查看模式所属用户

sql 复制代码
select
        SCH_OBJ.NAME   ,
        SCH_OBJ.ID     ,
        SCH_OBJ.CRTDATE,
        USER_OBJ.NAME
from
        (
                select NAME, ID, PID, CRTDATE from SYS.SYSOBJECTS where TYPE$='SCH'
        )
        SCH_OBJ,
        (
                select NAME, ID from SYS.SYSOBJECTS where TYPE$='UR' and SUBTYPE$='USER'
        )
        USER_OBJ
where
        SCH_OBJ.PID=USER_OBJ.ID
ORDER BY
        SCH_OBJ.NAME;

5、查看用户所属角色

sql 复制代码
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='用户名'

四、系统查询

1、查看达梦版本

sql 复制代码
select name,create_time from v$database;

2、查看数据库大小写是否敏感

sql 复制代码
SELECT CASE_SENSITIVE();

3、查看用户权限角色

sql 复制代码
select * from DBA_SYS_PRIVS ;

4、查看所有用户

sql 复制代码
select username from dba_users;

5、查看表空间

sql 复制代码
select TABLESPACE_NAME from user_tablespaces;

6、查看指定表字段

sql 复制代码
select * from all_tab_columns where owner='用户名' and Table_Name='表名';

五、角色管理

1、查询角色的权限

sql 复制代码
select * from dba_sys_privs where grantee='角色名';

2、创建角色

sql 复制代码
CREATE ROLE 角色名;

3、给角色授予resource和public的权限

sql 复制代码
GRANT CREATE TABLE,CREATE INDEX TO 角色名;

4、给角色授予创建表和索引的权限

sql 复制代码
GRANT CREATE TABLE,CREATE INDEX TO 角色名;

5、给角色授予查询DMHR模式下CITY表的查询权限

sql 复制代码
GRANT SELECT ON DMHR.CITY TO 角色名;

6、授予角色的权限给用户

sql 复制代码
GRANT 角色名 TO 用户名;

7、回收用户的角色权限

sql 复制代码
REVOKE 角色名 FROM 用户名;

8、启用角色

sql 复制代码
sp_set_role('角色名',1);

9、禁用角色

sql 复制代码
sp_set_role('角色名',0);

10、删除角色

sql 复制代码
DROP ROLE 角色名;

六、本地连多台数据库(RAC)

1、服务器创建文件【/etc/dm_svc.conf】,写入如下内容

sql 复制代码
TIME_ZONE=(480)
LANGUAGE=(cn)
SUPERIP=(123.123.123.1:5236,123.123.123.2:5236,123.123.123.3:5236)

#EP_SGLJYTOR 0:均匀分布1:定向连接服务名的第T个IP,
#每次定向连接服务名的第一个IP。当IP1发生故障,间隔1s进行重连,尝试60次,若无
#法连接,再自动连接IP2。若IP2先起来,IP1后起来。因为AUT0_RECONNECT=(1),所以连
#接在IP2的连接不会切回IP1上。

[SUPERIP]
LOGIN_MODE=(1)
SWITCH_TIMES=(60)
SWITCH_INTERVAL=(1000)
EP_SGLJYTOR=(1)
AUTO_RECONNECT=(1)

2、应用连接配置

sql 复制代码
<driver>dm.jdbc.driver.DmDriver</driver>
<url>jdbc:dm://SUPERIP</url>

3、应用连接达梦数据库【指定schema[1用户多个schema]】

sql 复制代码
# 达梦 模式名就相当于库名
# 写法一【本人使用此种】
    url: jdbc:dm://localhost:5236?schema=PERSON&compatibleMode=mysql&characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
#写法二【尝试过失败】
    #url: jdbc:dm://localhost:5236/PERSON&compatibleMode=mysql&characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
   
相关推荐
xcLeigh2 分钟前
KingbaseES数据库:本地连接全攻略!从环境检查到问题排查,新手也能轻松上手
数据库
rexling17 分钟前
【玩转全栈】----Django基本配置和介绍
数据库·django·sqlite
Deamon Tree8 分钟前
如何保证缓存与数据库更新时候的一致性
java·数据库·缓存
大G的笔记本17 分钟前
MySQL 中的 行锁(Record Lock) 和 间隙锁(Gap Lock)
java·数据库·mysql
洲覆1 小时前
go-mysql-transfer 伪装从库实现 MySQL 到 Redis 数据同步(完整配置)
数据库·redis·mysql·golang
谅望者1 小时前
SQL 自连接详解:当数据表需要与自己对话(组织层级实战)
数据库·sql·mysql·oracle·database
姚远Oracle ACE1 小时前
解读 “SQL ordered by Physical Reads (UnOptimized)“
数据库·sql·oracle
山峰哥1 小时前
KingbaseES 表空间与模式优化策略深度研究报告
开发语言·数据结构·数据库·oracle·深度优先
九转苍翎1 小时前
深入解析MySQL(6)——存储过程、游标与触发器
数据库·mysql
武子康1 小时前
Java-164 MongoDB 认证与权限实战:单实例与分片集群 整体认证配置实战 最小化授权/错误速查/回滚剧本
java·数据库·分布式·mongodb·性能优化·系统架构·nosql