7-用户和对象管理
– 用户权限角色 用户是连接数据库进行相关操作的
– 模式是一个用户拥有的所有数据库对象的集合 每个用户都有自己默认的模式 模式名和用户名一样
– 权限是执行特定类型sql命令或访问其他模式对象的权利,用于限制用户可执行的操作
– 角色是将具有相同权限的用户组织在一起,这一组称为相同权限的用户称为角色
7.1用户管理
7.1.1 查看所有角色
select * from dba_roles;
7.1.2 查看用户信息
select USERNAME,USER_ID,ACCOUNT_STATUS from dba_users;
7.1.3 查看用户对应的角色信息
select * from SYS.DBA_ROLE_PRIVS;
7.1.4 创建用户
SQL> create user dm identified by "dameng123";
操作已执行
已用时间: 9.028(毫秒). 执行号:1132.
7.1.5 用户授权
SQL> grant public,resource,dba to dm;
操作已执行
已用时间: 3.335(毫秒). 执行号:1133.
7.1.6 测试
SQL> conn dm/dameng123 //登录
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 6.681(ms)
SQL> select user(); //查看当前用户
行号 USER()
---------- ------
1 DM
已用时间: 0.686(毫秒). 执行号:1301.
SQL> create table dm as select * from sysobjects; //创建表
操作已执行
已用时间: 13.780(毫秒). 执行号:1302.
SQL> select count(1) from dm; //查看表数据
行号 COUNT(1)
---------- --------------------
1 1237
已用时间: 1.167(毫秒). 执行号:1303.
7.1.7 例题
修改用户、角色、权限等均可图形化操作
例 1:创建用户 TEST,密码是 Dameng123,默认表空间为 TEST,该用户拥有创建表、视图、索引的权限
例 2:创建用户 DMEMP,密码是 Dameng123,失败登录 5 次后锁定账号 3 分钟,密码在 180 天后自动过期,该用户有创建表、创建视图
的权限。
例 3:创建角色 ROLE1,拥有创建表、视图、索引的权限,可以查看dmhr.employee.hire_date 、 dmhr.employee.email , 可 以 修 改dmhr.employee.phone_num,可以查看 dmhr.department 表。create role “ROLE1”
7.2 表管理
图形化界面表的管理
7.2.1 直接创建
SQL> create user cndba identified by "dameng123";
操作已执行
已用时间: 6.323(毫秒). 执行号:1401.
SQL> grant resource,dba to cndba; //授权
操作已执行
已用时间: 4.112(毫秒). 执行号:1402.
SQL> conn cndba/dameng123 //登录
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.708(ms)
SQL> create table dave(id int); //直接创建
操作已执行
已用时间: 6.977(毫秒). 执行号:1501.
SQL> insert into dave values(1); //添加数据
影响行数 1
已用时间: 0.999(毫秒). 执行号:1502.
SQL> insert into dave values(2);
影响行数 1
已用时间: 0.555(毫秒). 执行号:1503.
SQL> commit;
操作已执行
已用时间: 1.174(毫秒). 执行号:1504.
SQL> select count(1) from dave; // 查看信息
行号 COUNT(1)
---------- --------------------
1 2
已用时间: 1.206(毫秒). 执行号:1505.
7.2.2 查询创建
SQL> create table dm as select * from sysobjects; //创建表
操作已执行
已用时间: 13.780(毫秒). 执行号:1302.
SQL> select count(1) from dm; //查看表数据
行号 COUNT(1)
---------- --------------------
1 1237
已用时间: 1.167(毫秒). 执行号:1303.
7.2.3 重命名表
SQL> alter table dm rename to dm01;
操作已执行
已用时间: 27.441(毫秒). 执行号:1701.
7.2.4 添加列
SQL> alter table dm01 add column(age int);
操作已执行
已用时间: 18.750(毫秒). 执行号:1703.
7.2.5 删除列
SQL> alter table dm01 drop column age;
操作已执行
已用时间: 29.160(毫秒). 执行号:1704.
7.2.6 修改类型和长度
SQL> alter table dm01 modify valid varchar(50);
操作已执行
已用时间: 26.935(毫秒). 执行号:1707.
7.2.7 添加主键
SQL> alter table dm01 add primary key(id);
操作已执行
已用时间: 15.555(毫秒). 执行号:1706.
7.3 索引管理
达梦支持的索引:二级索引,位图索引,唯一索引,复合索引,函数索引,分区索引等。
默认的表是索引组织表,利用rowid创建一个默认的索引,所以我们创建的索引,称为二级索引。
7.3.1 查看索引
select table_name,index_name from SYS.DBA_INDEXES where TABLE_NAME='dm';
7.3.2 创建索引
图形化界面
命令行界面
SQL> create table emp as select * from sysobjects; //创建表
操作已执行
已用时间: 7.564(毫秒). 执行号:1803.
SQL> create tablespace index1 datafile '/dm/dmdbms/data/cnda/index1.dbf' size 32; //创建表空间
操作已执行
已用时间: 72.586(毫秒). 执行号:1804.
SQL> create index ind_emp on emp(name) tablespace index1; //创建emp表的索引 连接表空间index1
操作已执行
已用时间: 12.474(毫秒). 执行号:1805.
SQL> select table_name,index_name from sys.dba_indexes where table_name='EMP'; //查看索引
行号 TABLE_NAME INDEX_NAME
---------- ---------- -------------
1 EMP IND_EMP
2 EMP INDEX33555584
已用时间: 20.238(毫秒). 执行号:1808.
7.3.3 重建
SQL> alter index IND_EMP rebuild;
操作已执行
已用时间: 15.827(毫秒). 执行号:1809.
7.3.4 删除索引
SQL> drop index ind_emp;
操作已执行
已用时间: 11.795(毫秒). 执行号:1810.
7.4 视图管理
视图是从用户的实际需要中抽取出来的虚表
7.4.1 创建视图
图形化界面
命令行界面
SQL> create view purchasing.vendor_excellent as select * from purchasing.vendor; //创建视图
操作已执行
已用时间: 29.504(毫秒). 执行号:730.
SQL> select * from purchasing.vendor_excellent;//查看视图
行号 VENDORID ACCOUNTNO NAME ACTIVEFLAG WEBURL CREDIT
---------- ----------- --------- ------------------------------ ---------- ------ -----------
1 1 00 上海画报出版社 1 2
2 2 00 长江文艺出版社 1 2
3 3 00 北京十月文艺出版社 1 1
4 4 00 人民邮电出版社 1 1
5 5 00 清华大学出版社 1 1
6 6 00 中华书局 1 1
7 7 00 广州出版社 1 1
8 8 00 上海出版社 1 1
9 9 00 21世纪出版社 1 1
10 10 00 外语教学与研究出版社 1 1
11 11 00 机械工业出版社 1 1
行号 VENDORID ACCOUNTNO NAME ACTIVEFLAG WEBURL CREDIT
---------- ----------- --------- --------------- ---------- ------ -----------
12 12 00 文学出版社 1 1
12 rows got
已用时间: 0.292(毫秒). 执行号:734.
7.4.2 查看视图定义
SQL> select view_name,text_length from sys.dba_views where view_name='VENDOR_EXCELLENT';
行号 VIEW_NAME TEXT_LENGTH
---------- ---------------- --------------------
1 VENDOR_EXCELLENT 187
已用时间: 2.043(毫秒). 执行号:733.
7.4.3 编译视图
SQL> alter view purchasing.vendor_excellent compile;
操作已执行
已用时间: 11.186(毫秒). 执行号:736.
7.4.4 删除视图
SQL> drop view purchasing.vendor_excellent;
操作已执行
已用时间: 17.004(毫秒). 执行号:737.
7.5 模式、表、视图的命令行查询
7.5.1 查看所有模式名
SELECT NAME FROM SYSOBJECTS WHERE TYPE$='SCH';
行号 NAME
---------- ----------
1 CNDBA
2 CTISYS
3 DM
4 DMHR
5 OTHER
6 PERSON
7 PRODUCTION
8 PURCHASING
9 RESOURCES
10 SALES
11 SYS
行号 NAME
---------- ----------
12 SYSAUDITOR
13 SYSDBA
14 SYSSSO
14 rows got
已用时间: 1.491(毫秒). 执行号:716.
7.5.2 查看所有模式下的表
SELECT OWNER,TABLE_NAME FROM SYS.ALL_TABLES;
行号 OWNER TABLE_NAME
---------- ----- ------------
1 SYS SYSOBJECTS
2 SYS SYSINDEXES
3 SYS SYSCOLUMNS
4 SYS SYSUSER$
5 SYS SYSCONS
6 SYS SYSTEXTS
7 SYS SYSGRANTS
8 SYS SYSDUAL
9 SYS SYSCLASSES
10 SYS SYSSTATS
11 SYS SYSTYPEINFOS
行号 OWNER TABLE_NAME
---------- ------ ------------------------
12 SYS SYSACCHISTORIES
13 SYS SYSPWDCHGS
14 SYS SYSHPARTTABLEINFO
15 SYS SYSOBJINFOS
16 SYS SYSCONTEXTLIBS
17 CTISYS SYSCONTEXTINDEXES
18 SYS SYSCOLCYT
19 SYS SYSRESOURCES
20 SYS SYSTABLECOMMENTS
21 SYS SYSCOLUMNCOMMENTS
22 SYS SYS_REWRITE_EQUIVALENCES
行号 OWNER TABLE_NAME
---------- ----- ---------------
23 SYS SYSDISTABLEINFO
24 SYS SYSCOLINFOS
25 SYS SYSDEPENDENCIES
26 SYS SYSFREQROOTS
27 SYS SYSUSERINI$
28 SYS SYSINJECTHINT
29 SYS SYSDUAL2
30 SYS SYSMSTATS
31 SYS SYSOPENHISTORY
32 SYS SYSSTATPREFS
33 SYS SYSSTATTABLEIDU
行号 OWNER TABLE_NAME
---------- ----- ------------------
34 SYS SYSFCOLDEFAULT
35 SYS PROXY_INFO$
36 SYS SYSPROFILES
37 SYS SYSUSERPROFILES
38 SYS SYSTUNINGTASK
39 SYS SYSTUNINGEXECUTION
40 SYS SYSTUNINGREPORT
41 SYS SYSMODIFICATIONS
42 SYS SYSPKGPROCINFOS
43 SYS SYSPKGPROCPARAMS
44 SYS DPC_TABLESPACE
行号 OWNER TABLE_NAME
---------- ----- --------------
45 SYS SYSTSGROUPS
46 SYS SYSREDEFSTATUS
47 SYS SYSREDEFOBJECT
48 SYS SYSREDEFDERROR
49 SYS SYSPLNINFO
50 SYS SYSPLNOBJID
51 SYS SYSCOLBYUSER
52 SYS SYSOPARGS
53 SYS RECYCLEBIN$
54 SYS SYSERRORPAGES
55 SYS SYSCRASHTRXS
行号 OWNER TABLE_NAME
---------- ------ ---------------------------
56 SYS SYSPLANHIST
57 SYS SYSTEMPLATEHUGEAUX
58 SYS SYSTEMPLATEHUGEDAUX
59 SYS SYSTEMPLATEHUGEUAUX
60 SYS SYSFECKS
61 SYS SYSFECOLS
62 SYSDBA ##PLAN_TABLE
63 SYSDBA ##HISTOGRAMS_TABLE
64 SYS ##TMP_TBL_FOR_DBMS_LOB_BLOB
65 SYS ##TMP_TBL_FOR_DBMS_LOB_CLOB
66 SYS POLICY_GROUPS
行号 OWNER TABLE_NAME
---------- ------ -------------------
67 SYS POLICIES
68 SYS POLICY_CONTEXTS
69 SYS POLICY_COLS
70 SYS POLICY_MASKS
71 SYS DBMS_LOCK_ALLOCATED
72 SYS DBMS_ALERT_INFO
73 SYS AQ$_QUEUE_TABLES
74 SYS AQ$_QUEUES
75 SYS REG$
76 PERSON ADDRESS
77 PERSON ADDRESS_TYPE
行号 OWNER TABLE_NAME
---------- ---------- -------------------
78 PERSON PERSON
79 PERSON PERSON_TYPE
80 RESOURCES DEPARTMENT
81 RESOURCES EMPLOYEE
82 RESOURCES EMPLOYEE_ADDRESS
83 RESOURCES EMPLOYEE_DEPARTMENT
84 SALES CUSTOMER
85 SALES CUSTOMER_ADDRESS
86 PRODUCTION PRODUCT_CATEGORY
87 PRODUCTION PRODUCT_SUBCATEGORY
88 PRODUCTION PRODUCT
行号 OWNER TABLE_NAME
---------- ---------- --------------------
89 PRODUCTION LOCATION
90 PRODUCTION PRODUCT_INVENTORY
91 PRODUCTION PRODUCT_REVIEW
92 PURCHASING VENDOR
93 PURCHASING VENDOR_ADDRESS
94 PURCHASING VENDOR_PERSON
95 PRODUCTION PRODUCT_VENDOR
96 SALES SALESPERSON
97 PURCHASING PURCHASEORDER_HEADER
98 PURCHASING PURCHASEORDER_DETAIL
99 SALES SALESORDER_HEADER
行号 OWNER TABLE_NAME
---------- ----- -----------------
100 SALES SALESORDER_DETAIL
101 OTHER DEPARTMENT
102 OTHER EMPSALARY
103 OTHER ACCOUNT
104 OTHER ACTIONS
105 OTHER READER
106 OTHER READERAUDIT
107 OTHER DEPTTAB
108 OTHER EMPTAB
109 OTHER SALGRADE
110 OTHER COMPANYHOLIDAYS
行号 OWNER TABLE_NAME
---------- ------ -----------
111 DMHR REGION
112 DMHR CITY
113 DMHR LOCATION
114 DMHR DEPARTMENT
115 DMHR JOB
116 DMHR EMPLOYEE
117 DMHR JOB_HISTORY
118 DM DM
119 CNDBA DAVE
120 SYSDBA EMP
120 rows got
已用时间: 36.640(毫秒). 执行号:717.
7.5.3查看某个模式下的所有表
select table_name from all_tables where OWNER='DMHR';
行号 TABLE_NAME
---------- -----------
1 REGION
2 CITY
3 LOCATION
4 DEPARTMENT
5 JOB
6 EMPLOYEE
7 JOB_HISTORY
7 rows got
已用时间: 31.860(毫秒). 执行号:723.
7.5.4查看当前模式名
SQL> set schema dmhr;
操作已执行
已用时间: 0.608(毫秒). 执行号:0.
SQL> select sys_context('userenv','current_schema') from dual;
行号 SYS_CONTEXT('userenv','current_schema')
---------- ---------------------------------------
1 DMHR
已用时间: 1.078(毫秒). 执行号:727.
标签:----------,对象,用户,SYS,毫秒,SQL,DM8,执行,NAME
From: https://blog.csdn.net/qq_54040611/article/details/136654695