DataGrip操作Oracle

一、创建表空间

表名任意起,路径自己指定

复制代码
-- 创建表空间
create tablespace mydb1 -- 表名
datafile 'E:\Code\sql\oracle\oracle_tablespace\mydb1.dbf' --指定表空间路径
size 100M --指定表空间大小
autoextend on next 50M --指定一次扩充多少mb
extent management local autoallocate
segment space management auto;--Oracle会自动管理段的空间

二、表空间上创建用户

复制代码
-- 一个表空间可以建立多个用户
-- 创建用户 用户名密码
create user c##bluefox identified by manager
default tablespace mydb1; --指定用户在哪个表空间

注意:在Oracle12起创建用户需要在最前面加上c##,不然会报错

Oracle 12c引入了多租户容器数据库(CDB)和可插拔数据库(PDB)的概念,实现了实例和数据库之间一对多的关系。在CDB中,创建的用户默认为全局用户,需要在用户名前加上"C##"前缀,以在CDB和所有的PDB中创建该用户。

三、给用户赋DBA权限

一般来说赋予dba权限就够用了。

复制代码
-- 给用户赋DBA权限及其他权限
grant dba,connect,resource,
aq_administrator_role,aq_user_role
to c##bluefox

1、grant dba: DBA是Oracle数据库中的一个超级用户角色,拥有该角色的用户可以执行任何数据库操作。通常,出于安全考虑,不会将DBA角色授予普通用户,除非该用户确实需要执行高级管理任务。

2、grant connect: CONNECT角色允许用户连接到数据库。这是大多数用户都需要的基本权限。

3、grant resource: RESOURCE角色允许用户创建表、序列、触发器、过程、函数等。这也是一个常见的角色,用于授予用户创建数据库对象的能力。

4、grant aq_administrator_role: AQ_ADMINISTRATOR_ROLE是Oracle高级队列(Advanced Queuing)的一个角色,允许用户管理队列和队列相关的对象。如果你的应用使用了高级队列功能,那么可能需要这个角色。

5、grant aq_user_role: AQ_USER_ROLE也是高级队列的一个角色,但权限较AQ_ADMINISTRATOR_ROLE为少。它允许用户使用队列,但不允许管理队列。

四、编写SQL

配置完成就能正常编写sql语句了

相关推荐
李广坤9 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区1 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
加号32 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏2 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐2 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再2 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest2 天前
数据库SQL学习
数据库·sql
jnrjian2 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
十月南城2 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark