《Oracle系列》Oracle SQL命令,创建用户、表空间,并赋予用户一系列权限

1. 创建用户

sql 复制代码
-- 创建一个名为ywgl的用户,并设置其密码为ywgl  
create user ywgl identified by ywgl;

2. 创建表空间

sql 复制代码
-- 创建一个名为TS_YWGL的表空间,数据文件存储在/home/u01/oradata/orcl/YWGL.dbf,  
-- 初始大小为1500M,当空间不足时自动扩展5M,最大大小为30000M  
create tablespace TS_YWGL datafile '/home/u01/oradata/orcl/YWGL.dbf' size 1500M autoextend on next 5M maxsize 30000M;

创建了一个名为TS_YWGL的表空间,并指定了数据文件的位置、初始大小、自动扩展参数和最大大小。

3. 设置用户默认表空间

sql 复制代码
-- 将ywgl用户的默认表空间设置为TS_YWGL  
alter user ywgl default tablespace TS_YWGL;

ywgl用户的默认表空间设置为TS_YWGL

4. 授权

sql 复制代码
-- 注意:下面的授权操作在逻辑上有些冗余,因为DBA角色包含了大部分权限  
-- 如果打算赋予用户DBA角色,那么以下单独的权限授予是不必要的  
  
-- 授予ywgl用户DBA权限(谨慎使用,这会给用户带来过大的权限)  
-- grant dba to ywgl; -- 注释掉或删除这行,除非你确实需要赋予DBA权限  
  
-- 单独授予ywgl用户一些权限(这些权限在DBA角色下是多余的)  
grant connect, resource to ywgl; -- 授予ywgl连接和资源的基本权限  
-- grant create session to ywgl; -- 这行是多余的,因为connect角色已经包含了create session权限  
grant create any sequence to ywgl; -- 允许ywgl创建任意序列  
grant create any table to ywgl; -- 允许ywgl创建任意表  
grant delete any table to ywgl; -- 允许ywgl删除任意表  
grant insert any table to ywgl; -- 允许ywgl向任意表插入数据  
grant select any table to ywgl; -- 允许ywgl查询任意表  
grant update any table to ywgl; -- 允许ywgl更新任意表  
grant unlimited tablespace to ywgl; -- 允许ywgl使用不受限制的表空间  
grant execute any procedure to ywgl; -- 允许ywgl执行任意存储过程  
grant create any view to ywgl; -- 允许ywgl创建任意视图  

注意:在实际应用中,应该仔细考虑需要授予哪些权限,并避免过度授权

5. 权限撤销

sql 复制代码
-- 撤销ywgl用户的DBA权限(如果之前授予了的话)  
revoke dba from ywgl; -- 如果之前授予了DBA权限,这里可以撤销它
相关推荐
jnrjian5 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
TTc_5 天前
oracle中的union和union all有什么区别?
数据库·oracle
山峰哥6 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
南 阳6 天前
Python从入门到精通day37
数据库·python·oracle
轩情吖6 天前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
脱发的老袁6 天前
【数据库】Oracle手动清理归档日志
数据库·oracle
jnrjian6 天前
Oracle 共享池 库缓存下的 Library Cache Lock
数据库·缓存·oracle
新缸中之脑6 天前
在Reddit上探索未满足的需求
数据库·oracle
light blue bird6 天前
产线多并发客户端指令操作场景组件
jvm·oracle·.net·winform
坐吃山猪7 天前
Neo4j04_数据库事务
数据库·oracle·neo4j