《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权限,这里可以撤销它
相关推荐
IT邦德15 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
刘一说20 小时前
Java 中实现多租户架构:数据隔离策略与实践指南
java·oracle·架构
tryCbest20 小时前
Oracle查看存储过程
数据库·oracle
IT邦德20 小时前
OEL9.7 安装 Oracle 26ai RAC
数据库·oracle
Goat恶霸詹姆斯1 天前
mysql常用语句
数据库·mysql·oracle
xiaowu0801 天前
C# 拆解 “显式接口实现 + 子类强类型扩展” 的设计思想
数据库·oracle
Apple_羊先森1 天前
ORACLE数据库巡检SQL脚本--19、磁盘读次数最高的前5条SQL语句
数据库·sql·oracle
蚕豆哥2 天前
【2026马年重启】我的 Primavera P6/Unifier 技术笔记,继续更新!
ai·oracle·项目管理·unifier·p6·进度管理·甲骨文
认真的薛薛2 天前
数据库-sql语句
数据库·sql·oracle
IT邦德2 天前
RPM包快速安装Oracle26ai
数据库·oracle