《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权限,这里可以撤销它
相关推荐
ClouGence1 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
曹牧2 天前
Oracle EXPLAIN PLAN
数据库·oracle
贤时间2 天前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心2 天前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
Curvatureflight2 天前
MySQL 深分页越来越慢?从 LIMIT OFFSET 改成游标分页
数据库·oracle
XZ-0700012 天前
MySQL事务
数据库·mysql·oracle
tiancaijiben2 天前
阿里云函数计算FC如何实现网站的定时任务与自动化
数据库·oracle·dba
xfhuangfu2 天前
Oracle 19c 多租户体系架构介绍
数据库·oracle·架构
杨云龙UP2 天前
Spotlight 接入 Oracle 数据库监控操作指南 2026-06-16
数据库·oracle·性能监控·预警·阈值·spotlight·瓶颈分析
unique2 天前
AI Coding 采集方案探索
jvm·人工智能·oracle