Oracle笔记
一、 如何解决 sqlplus 无法使用退格键和方向键
.bashrc 中添加如下内容,解决 退格键
stty erase ^h
安装 rlwap 后,执行如下命令可解决 方向键
rlwap sqlplus
二、 都有哪些备份数据到工具
三、 谈谈 你对 oracle 中实例和数据库的理解
数据库是一组文件(主要包括控制文件,数据文件,联机重做日志文件等),位于磁盘,用于存储数据。
数据库实例是一组用于管理数据库文件的内存结构。是用于操作数据库的。
实例有个生命周期的说法,从startup开始,到shutdown immediate结束。
他们之间的关系
首先,数据库和实例是一对一的关系(部署了Oracle集群(RAC)的话会有一个数据库对应多个实例的情况,这里不考虑Oracle集群的情况啦)。
3.1 oracle_sid 是什么,有什么作用?
oracle_sid是数据库在操作系统的一个唯一标识, 当我们启动一个Oracle实例的时候,通常需要连接到一个 oracle_sid
他有个系统环境变量,ORACLE_SID 需要设置,否则无法连接到一个数据库中。
四、 假如一个表空间使用率快满了。如何处理?
假如回答,迁移
问: 说一下迁移到步骤
1 df -h 确认迁移目标的空间,文件系统的容量够用。
2 sqlplus 登录,确认要迁移到表空间的位置
SQL> select FILE_NAME,FILE_ID,TABLESPACE_NAME from dba_data_files where tablespace_name ='<表空间名称>';
假设返回信息:
/u01/app/oracle/oradata/***/<表空间名称>.pdf
3 将表空间状态设置为 offline
SQL> alter tablespace <表空间名称> offline;
4 复制所有的 dbf 文件到新路径
cp -a /u01/app/oracle/oradata//<表空间名称>.pdf /oracle/oradata//<表空间名称>.pdf
5 在数据库中修改表空间的指向地址
SQL>alter database rename file '/u01/app/oracle/oradata/***/<表空间名称>.pdf' to '/oracle/oradata/***/<表空间名称>.pdf';Database altered.
6 在数据库中将表空间状态设为 online
SQL> alter tablespace <表空间名称> online;Tablespace altered.
7 确认变更结果
SQL> select FILE_NAME,FILE_ID,TABLESPACE_NAME from dba_data_files where tablespace_name ='<表空间名称>';
五、 全库导出后, 在一台新服务器上导入数据,说说都有哪些步骤?有哪些事项需要注意的?
数据库版本
存放数据的家目录要一致,权限要正确
创建一致的用户
六、 正常重启 Oracle 服务
-- 查看监听状态
lsnrctl status
-- 停监听
lsnrctl stop
sqlplus / as sysdba
-- 停止oracle
SQL>shutdown immediate;
-- 启服务
SQL>startup;
SQL>exit
-- 启监听
lsnrctl start
七、 常用命令
-- 删除表空间
drop tablespace ling_mf3;-- 查询所有的表空间
select tablespace_name from dba_tablespaces;-- 查看当前的用户和表空间
select username,default_tablespace from user_users;-- 查看当前用户的角色
select * from user_role_privs;
-- 查询实例名/SID/服务名
select instance_name from v$instance;-- 查看Oracle版本
select * from v$version;-- 查看数据库允许的最大连接数
select value from v$parameter where name = 'processes';-- 查看当前连接数
select count(*) from v$process;-- 查看数据库当前会话的连接数
select count(*) from v$session;-- 查看数据库当前的并发连接数
select count(*) from v$session where status = 'ACTIVE';-- 创建用户、命名空间、授权
create user <username> identified by <password>;
-- 修改密码
alter user <username> identified by <password>;
-- 创建命名空间,注意这里的数据存储文件的位置是在容器的位置,与挂载的数据卷的位置无关
create tablespace <tablespacename> datafile '/u01/app/oracle/oradata/XE/xxx.dbf' size 1000M;
-- 将命名空间授权给用户
alter user <username> default tablespace <tablespacename>;
-- 给用户权限
-- 将最高权限授权给用户
grant create session,create table,create view,create sequence,unlimited tablespace to <username>;
grant dba to <username>;
8 创建用户 AA,并把用户 BB 的所有表授权给用户 AA 为 select 权限
创建用户
create user AA identified by 密码;
执行存储过程,授权每个表给新用户
SET SERVEROUTPUT ON; -- 确保您启用了 DBMS_OUTPUT,以便能够看到存储过程的输出。-- 存储过程
BEGINFOR rec IN (SELECT table_nameFROM all_tablesWHERE owner = 'BB' -- 确保使用大写字母) LOOPBEGIN-- 动态 SQL 统计表的行数EXECUTE IMMEDIATE 'grant select on BB.' || rec.table_name || ' TO AA';-- 输出授权语句DBMS_OUTPUT.PUT_LINE('grant select on BB.' || rec.table_name || ' TO AA');EXCEPTIONWHEN OTHERS THEN-- 捕获异常并输出表名DBMS_OUTPUT.PUT_LINE('Error processing table: ' || rec.table_name || ' - ' || SQLERRM);END;END LOOP;
END;
9 撤销权限
撤销用户 AA 对用户 BB 的表 users 的 select 权限。
revoke select on BB.users from AA;
只能撤销授权过的权限语句。没有执行过的授权语句无法撤销。
例如没有执行过 GRANT SELECT ANY TABLE TO AA 就没法执行 REVOKE SELECT ANY TABLE FROM AA;
10 验证权限
在 Oracle 数据库中,您可以通过查询系统视图来查看某个用户的权限。以下是一些常用的视图和查询示例,您可以根据需要使用它们来检查用户的权限。
- 查看用户的系统权限
系统权限是指用户在数据库中可以执行的操作。您可以使用 DBA_SYS_PRIVS 视图来查看某个用户的系统权限。
SELECT *
FROM DBA_SYS_PRIVS
WHERE GRANTEE = 'AA';
- 查看用户的对象权限
对象权限是指用户对特定对象(如表、视图等)的权限。您可以使用 DBA_TAB_PRIVS 视图来查看某个用户的对象权限。
SELECT *
FROM DBA_TAB_PRIVS
WHERE GRANTEE = 'AA';
SELECT *
FROM USER_TAB_PRIVS
WHERE GRANTEE = 'AA';
- 查看角色权限
如果用户拥有角色,您可以使用 DBA_ROLE_PRIVS 视图来查看用户所拥有的角色。
SELECT *
FROM DBA_ROLE_PRIVS
WHERE GRANTEE = 'AA';
-
查看用户的角色和权限的组合
如果您想要查看用户的所有权限(包括系统权限和对象权限),可以结合以上查询的结果。 -
注意事项
在执行这些查询之前,确保您有足够的权限(例如,您可能需要 DBA 权限)。
将 AA 替换为您要查询的实际用户名,并确保用户名是大写的,因为 Oracle 对用户名的默认处理是大写。
相关文章:
Oracle笔记
一、 如何解决 sqlplus 无法使用退格键和方向键 .bashrc 中添加如下内容,解决 退格键 stty erase ^h 安装 rlwap 后,执行如下命令可解决 方向键 rlwap sqlplus 二、 都有哪些备份数据到工具 三、 谈谈 你对 oracle 中实例和数据库的理解 数据库是一…...
LVS+Keepalived 双机热备
LVSKeepalived 双机热备 Keepalived案例分析Keepalived工具介绍Keepalived工具介绍一、功能特点 一、理解Keepalived实现原理实验报告资源列表一、安装keepalived以及ipvsadm Keepalived案例分析 企业应用中,单台服务器承担应用存在单点故障的危险单点故障一旦发生…...
Web Image scr图片从后端API获取基本实现
因系统开发中需求,会有页面显示图片直接从后端获取后显示,代码如下: 后端: /*** 获取图片流* param response* param fileName*/RequestMapping(value"getImgStream",method RequestMethod.GET)public void getImgStr…...
2024音频剪辑指南:探索四大高效工具!
音频剪辑不仅仅是技术活,更是一种艺术创作,它能够让声音更加生动、更具感染力。今天,我们就来探索几款优秀的音频剪辑工具。 福昕音频剪辑 链接:www.pdf365.cn/foxit-clip/ 福昕音频剪辑是一款界面简洁、操作直观的音频编辑软件…...
“CSS”第一步——WEB开发系列13
CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。 一、什么是 CSS&a…...
IEEE802网络协议和标准
IEEE802网络协议和标准 802委员会IEEE 802介绍现有标准 IEEE 802.3介绍物理媒介类型MAC子层与LLC子层主要内容通讯标准POE供电标准802.3af、802.3at、802.3btIEEE802.3af的工作过程:IEEE802.3af主要供电参数:IEEE802.3af的分级参数:为什么会有…...
vulnhub靶机 DC-9(渗透测试详解)
一、靶机信息收集 1、靶机下载 https://download.vulnhub.com/dc/DC-9.zip 2、靶机IP扫描 3、探测靶机主机、端口、服务版本信息 4、靶机目录扫描 二、web渗透测试 1、访问靶机IP 查看页面功能点,发现一个搜索框和登录框 2、测试一下是否存在sql注入 查看当前数…...
javaweb的新能源充电系统pf
TOC springboot339javaweb的新能源充电系统pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域…...
如何在桌面同时展示多个窗口
一、实现2分屏显示 win箭头 二、实现3分屏显示 1. 在实现2分屏显示的基础上,再次点击箭头图标,这次选择屏幕的上方或下方。 2. 点击后,第三个窗口将会出现在你选择的区域。现在,你可以在三个窗口之间自由切换,提高工…...
The Sandbox 游戏制作教程(第 5 部分):创建基于分类的系统
欢迎回到我们的系列,我们将记录 The Sandbox Game Maker 的 “On-Equip”(装备)功能的多种用途。 如果你刚加入 The Sandbox,装备功能是 “可收集组件”(Collectable Component)中的一个多功能工具&#x…...
HTML浏览器缓存(Browser Cache)
介绍: 浏览器缓存是Web缓存中最直接、最常见的一种形式。当浏览器首次请求某个资源时,如果服务器响应中包含了缓存控制指令(如Cache-Control、Expires等),浏览器就会将这些资源存储在本地缓存中。后续请求相同资源时&a…...
短剧APP系统,推动短剧市场发展
近年来,短剧作为一直火爆的新兴行业,凭借着剧情进奏、爽、时长短等优势,深受大众欢迎,成为了大众碎片化时间的解压神器。 目前,随着短剧市场的快速发展,各个类型的短剧层出不穷,也推动了短剧AP…...
嵌入式 | 嵌入式 Linux 系统使用摄像头
点击上方"蓝字"关注我们 01、引言 >>> 在嵌入式 Linux 系统使用摄像头 俗话说“眼见为实”,这或许是为什么近年来摄像头在嵌入式系统上快速增长的原因。它们被用于不同的场景,如: 远程监控:典型的例子是闭路电视,监控人员在监视环境(或许你所在的大楼…...
C 开源库之cJSON
cJSON简介 CJSON库是一个用于解析和生成JSON数据的C语言库。 它提供了一组函数,使得在C语言中操作JSON数据变得简单而高效。 您可以使用CJSON库来解析从服务器返回的JSON数据,或者将C语言数据结构转换为JSON格式以进行传输。 cJSON 使用 官网地址&…...
ROW_NUMBER(), RANK(), DENSE_RANK() SQL排序函数图文详解
ROW_NUMBER(), RANK(), DENSE_RANK() ROW_NUMBER(): 为结果集中的每一行分配唯一的连续编号。即使有重复的值,ROW_NUMBER() 也会为它们分配不同的序号。 SELECT column_name, ROW_NUMBER() OVER (ORDER BY column_name) AS row_num FROM table_name;2. RANK(): 对结…...
Spring IoCDI(下)—DI的尾声
我们之前学习了控制反转IoC,接下来就开始学习依赖注入DI的细节。 依赖注入是一个过程,是指IoC容器在创建Bean时,去提供运行时所依赖的资源,而资源指的就是对象。我们使用 Autowired 注解,完成依赖注入的操作。简单来说…...
仕考网:考外省公务员可以调回本地吗?
一般情况下,公务员岗位是固定不可随意更换的,因为每个职位都对应特定的职责和要求。一旦考到外地的岗位,想要调回本地几乎是不可能的。因为这样的操作可能导致职位空缺,进而需要通过公共招聘流程来填补,而不是简单地从…...
《工厂模式在软件开发中的深度剖析与应用》
工厂模式 在软件开发的领域中,设计模式充当着解决常见问题的高效且可复用的策略角色。其中,工厂模式作为创建对象的重要设计模式,具有不可小觑的应用价值。接下来,我们将深入探讨简单工厂模式、工厂方法模式和抽象工厂模式。 一…...
双向通信之Websocket
介绍 Websocket是一种在单个TCP连接上进行全双工通信的协议。与传统的HTTP协议不同,websocket允许客户端与服务器之间的双向通信,可以在同一条连接上进行多次消息的快速传递。我之前在做一个线上刷题网站的时候,需要设计一个社区讨论模块&am…...
git学习使用碰到的问题1
本来在B站上看到的关于stash的使用时视频末尾讲到git stash drop 编号 会删除暂存记录 确实也是这么回事,但是末尾说到git stash pop 编号时up主说在恢复工作进度的时候我们可以直接删除掉这个工作记录可以直接使用 git stash pop stash{0} 使用完以后却出现了如上图…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
