当前位置: 首页 > news >正文

Oracle授权操作

目录

一、前置知识

1.使用ipconfig查看当前电脑的IP地址

2.查看Oracle数据库链接串

二、登录Oracle数据库

三、创建新用户、修改密码并授权

1.创建新用户并解锁

2.修改用户密码

3.授权用户登录

4.查看角色的权限范围

5.授予用户角色

6.撤销CONNECT角色

7.查看哪些用户被赋予了CONNECT角色

8.不同用户的数据访问方法

9.授权用户对指定表进行SELECT、INSERT、UPDATE和DELETE操作 

10.撤销权限

四、一些其他概念


一、前置知识

1.使用ipconfig查看当前电脑的IP地址

如果你电脑当前连接的是WIFI,点击属性即可

 

CMD界面可以ping其他人的网址看一下两个IP之间能否可以正常通信

2.查看Oracle数据库链接串

 

--HOST :IP

--PORT:端口号,默认1521

--SERVICE_NAME 服务名

连接到名为orcl的服务。其中,主机地址为localhost,端口号为1521

二、登录Oracle数据库

1.记得要将链接串换到一行,然后放到登陆窗口上的 第三个栏位 DATABASE 上

(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1615))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))

2.ip:port/SERVICE_NAME

localhost:1521/orcl

3.Oracle数据库各种角色介绍

sysdba:即数据库管理员,权限包括:打开数据库服务器、关闭数据库服务器、

       备份数据库、恢复数据库、日志归档、会话限制、管理功能、创建数据库。

       SYS 用户必须用 SYSDBA 身份才能登录,SYSTEM 用户可以用普通身份登录。            

sysoper:即数据库操作员,权限包括:打开数据库服务器、关闭数据库服务器、

        备份数据库、恢复数据库、日志归档、会话限制。            

normal:即普通用户,权限只有查询某些数据表的数据。默认的身份是 normal 用户。

4.管理员登录

 

三、创建新用户、修改密码并授权

在 SYS 用户操作

1.创建新用户并解锁

CREATE USER 用户名 IDENTIFIED BY 密码 ACCOUNT UNLOCK;
CREATE USER s1231 IDENTIFIED BY 123456 ACCOUNT UNLOCK;ALTER USER s729 ACCOUNT LOCK;

2.修改用户密码

alter user 用户名 identified by 密码;ALTER USER s1231 IDENTIFIED BY 123;

3.授权用户登录

-- 语法
GRANT CONNECT,RESOURCE TO 用户名;--授权连接和资源权限给用户
GRANT CONNECT,RESOURCE TO s1231 ;--授权创建会话权限给用户
GRANT CREATE SESSION TO s1231 ;

关键词解释: 

ROLE角色:某些权限的集合;CREATE ROLE 角色名;

CONNECT 角色:是授予最终用户的典型权利,最基本的

        ALTER SESSION                         --修改会话

        CREATE CLUSTER                     --建立聚簇

        CREATE DATABASE LINK          --建立数据库链接

        CREATE SEQUENCE                  --建立序列

        CREATE SESSION                      --建立会话

        CREATE SYNONYM                    --建立同义词

        CREATE VIEW                             --建立视图

RESOURCE 角色:是授予开发人员的,以便他们可以在自己的方案中创建如表、序列、视图等数据库对象

        CREATE CLUSTER                 --建立聚簇

        CREATE PROCEDURE           --建立过程

        CREATE SEQUENCE              --建立序列

        CREATE TABLE                       --建表

        CREATE TRIGGER                  --建立触发器

        CREATE TYPE                         --建立类型

4.查看角色的权限范围

SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'CONNECT';

5.授予用户角色

GRANT CONNECT TO s1231;
GRANT RESOURCE TO s1231;

6.撤销CONNECT角色

REVOKE CONNECT FROM user_name;

7.查看哪些用户被赋予了CONNECT角色

SELECT GRANTEE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE = 'CONNECT';

8.不同用户的数据访问方法

SELECT * FROM scott.emp;

9.授权用户对指定表进行SELECT、INSERT、UPDATE和DELETE操作 

在 SCOTT 用户操作

GRANT SELECT,INSERT,UPDATE,DELETE ON SCOTT.dept TO s1231;

在s1231用户下访问scott的表

select * from SCOTT.dept;

注意:在Oracle数据库中,不支持使用通配符(*)来表示所有表。

10.撤销权限

REVOKE 权限 ON 表名 FROM 用户;REVOKE SELECT ON dept FROM s1231;REVOKE SELECT,INSERT,UPDATE ON SCOTT.dept FROM s1231;

四、一些其他概念

1. 数据库(Database):

    Oracle数据库是一个逻辑存储结构,包含了所有用户数据、系统数据、控制信息和结构对象,如表、索引、视图、存储过程等。

    一个Oracle数据库通常由一个或多个数据文件(datafiles)组成,这些文件存储了实际的数据和数据库结构。

    数据库还包括控制文件(control files)和重做日志文件(redo log files),这些文件对于数据库的运行和恢复至关重要。

2. 实例(Instance):

    Oracle实例是由一组进程和内存结构组成的,它们用于管理数据库的运行。

    实例负责处理客户端请求,执行SQL语句,管理数据的存储和访问。

    实例由系统全局区(System Global Area, SGA)和后台进程(background processes)组成。

    SGA是共享内存区域,包含了数据库的缓存和控制信息;后台进程负责各种任务,如管理重做日志、执行恢复操作等。

-- 查询 Oracle 数据库当前实例的名称和状态
SELECT INSTANCE_NAME,STATUS FROM V$INSTANCE; 

3. 关系:

    一个Oracle数据库总是由一个实例来管理。换句话说,实例是数据库的运行时环境,它提供了数据库服务。

    实例的启动和关闭不会影响到数据库文件本身,但是没有运行的实例,数据库就无法被访问和操作。

    实例的状态和配置(如内存分配、进程设置等)会影响数据库的性能和可用性。

4. 多实例配置:

    在某些高级配置中,一个Oracle数据库可以由多个实例管理,这种配置称为Real Application Clusters (RAC)。

    在RAC中,多个实例可以同时访问相同的数据库文件,提供高可用性和负载均衡。

5. 服务(Service):

    在Oracle中,服务(Service)是数据库和实例之间的一个抽象层,它定义了客户端连接到数据库的方式。

    一个服务可以关联到特定的实例,允许客户端通过服务名称来访问数据库。

6.dblink

    dblink概念:用于实现不同数据库实例间通信的一种机制

    创建dblink的作用:实现不同数据库之间的通信和数据访问

    数据库实例(instance):数据库实例是一组Oracle后台进程/线程以及一个共享内存区,

这些内存由同一个计算机上运行的线程/进程所共享。

    线程:是进程中的一个执行任务(控制单元),负责当前进程中程序的执行;

    进程:在内存中运行的应用程序,每个进程都有自己独立的一块内存空间。

--1 在 SYS 用户操作
GRANT   -- 授权CREATE PUBLIC DATABASE LINK ,   -- 创建公共DBLINK权限DROP PUBLIC DATABASE LINK     -- 删除公共DBLINK权限
TO 用户;GRANT   -- 授权CREATE PUBLIC DATABASE LINK ,   -- 创建公共DBLINK权限DROP PUBLIC DATABASE LINK     -- 删除公共DBLINK权限
TO s1231;--2 切换回来 s1231 这个用户 创建 DATABASE LINK 访问 SCOTT 用户的表
CREATE PUBLIC DATABASE LINK   DB_LINK_TO_SCOTT
CONNECT TO SCOTT IDENTIFIED BY "123456"   -- 密码是纯数字的必须加双引号而不是单引号,-- 如果密码是字母开头的,则不用加引号
USING 'localhost/ORCL.LAN';---访问
SELECT * FROM EMP@DB_LINK_TO_SCOTT;
SELECT * FROM DEPT@DB_LINK_TO_SCOTT;
http://www.lqws.cn/news/76699.html

相关文章:

  • Mysql备份
  • 【MySQL】视图与用户管理
  • isp中的 ISO代表什么意思
  • Android Studio 配置之gitignore
  • 平滑技术(数据处理,持续更新...)
  • JAVA学习-练习试用Java实现“PCA(主成分分析) :用于降维和数据可视化”
  • DeepSeek模型安全部署与对抗防御全攻略
  • DAY43打卡
  • 力扣LeetBook数组和字符串--数组简介
  • 力扣HOT100之动态规划:32. 最长有效括号
  • 20250602在荣品的PRO-RK3566开发板的Android13下的uboot启动阶段配置BOOTDELAY为10s
  • 代码随想录算法训练营第四天| 242.有效的字母异位词 、 349. 两个数组的交集 、 202. 快乐数 、1. 两数之和
  • 5.RV1126-OPENCV 图形计算面积
  • Android基于LiquidFun引擎实现软体碰撞效果
  • android binder(二)应用层编程实例
  • 循序渐进 Android Binder(一):IPC 基本概念和 AIDL 跨进程通信的简单实例
  • 基于 Android 和 JBox2D 的简单小游戏
  • 实验一:PyTorch基本操作实验
  • 力扣热题100之对称二叉树
  • LeetCode 热题 100 394. 字符串解码
  • C#项目07-二维数组的随机创建
  • CppCon 2014 学习:Exception-Safe Coding
  • Python----目标检测(《YOLOv3:AnIncrementalImprovement》和YOLO-V3的原理与网络结构)
  • Python----目标检测(训练YOLOV8网络)
  • FreeBSD 14.3 候选版本附带 Docker 镜像和关键修复
  • 嵌入式鸿蒙开发环境搭建操作方法与实现
  • web架构3------(nginx的return跳转,gzip压缩,目录浏览,访问控制和location符号优先级)
  • 分布式锁剖析
  • 2025/6月最新Cursor(0.50.5版本)一键自动更换邮箱无限续杯教程
  • 05.MySQL表的约束