当前位置: 首页 > 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;

相关文章:

  • 1. 前言与安装pytorch、d2l
  • 企业级应用狂潮:从Spotify到LinkedIn的Llama实战手册
  • 代码随想录算法训练营第四天| 242.有效的字母异位词 、 349. 两个数组的交集 、 202. 快乐数 、1. 两数之和
  • 六级翻译技巧
  • Linux配置DockerHub镜像源配置
  • HashMap与ConcurrentHashMap详解:实现原理、源码分析与最佳实践
  • 【AI+若依框架】基础应用篇
  • C++string1号
  • 谷歌CEO皮查伊眼中的“下一代平台“与未来图景
  • 华为OD机试_2025 B卷_虚拟游戏理财(Python,100分)(附详细解题思路)
  • 【数据分析】第二章 Python基础
  • 技术博客:线程池的暗礁——Executors工厂类为何成为Java高并发系统的禁忌
  • 【数据分析】第三章 numpy(1)
  • 个人总结八股文之-基础篇(持续更新)
  • 中国城市规模指数(1992-2023)
  • 思维链提示:激发大语言模型推理能力的突破性方法
  • 20250602在荣品的PRO-RK3566开发板的Android13下打开HDMI显示
  • oracle sql 语句 优化方法
  • 为什么ping显示connect:network is unreachable,如何排查网络不通问题?
  • 神经网络基础:从单个神经元到多层网络(superior哥AI系列第3期)
  • 做JSP网站买什么书/搜索引擎排名优化seo课后题
  • 怎么做一淘宝客网站/成都新站软件快速排名
  • 塘厦镇网站建设公司/上海短视频推广
  • 手机怎么打开微信网站/快速排名优化公司
  • 网站推广营销效果/南京做网站的公司
  • 南通外贸建站/b2b外链代发