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} 使用完以后却出现了如上图…...
Vue-Sonner:面向现代Vue应用的高性能Toast通知架构解析
Vue-Sonner:面向现代Vue应用的高性能Toast通知架构解析 【免费下载链接】vue-sonner 🔔 An opinionated toast component for Vue. 项目地址: https://gitcode.com/gh_mirrors/vu/vue-sonner 在当今快节奏的Web应用开发中,实时反馈机制…...
DeepSeek-OCR 2技术突破:动态视觉token重排效果展示
DeepSeek-OCR 2技术突破:动态视觉token重排效果展示 1. 引言 想象一下,当你阅读一份复杂的学术论文时,眼睛不会机械地从左上角扫到右下角,而是会自然地跳过标题、关注图表、追踪公式推导,甚至在不同的文本栏之间灵活…...
2026最新Java金三银四面试参考指南公开!
想必有很多小伙伴这会已经在为金三银四面试跳槽做准备了。临近面试肯定是要想办法提升自己的面试能力,这个时候如果还去一昧地提升自己的代码能力对面试是毫无帮助的。大多数人在面试的时候都会遇到以下几种情况(大家可以看看自己中了几个)&a…...
Spring Boot 集成云快充协议:充电桩接入平台完整Demo
云快充协议云快充1.5协议云快充1.6云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩协议云快充源码介绍云快充协议云快充1.5协议云快充1.6云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩协议云快充源码软件架构1、提供云快充底层桩直连协议&…...
STM32F1XX 的 CAN 的 波特率配置
参考文档: CAN总线波特率的设定——以STM32F103为例 - 知乎 42. CAN—通讯实验 — [野火]STM32库开发实战指南——基于野火霸道开发板 文档 基本知识 (SMP 采样率) STM32F1系列开发板设置的系统时钟大小 SYSCLK(系统时钟&…...
密码学实战:从古典密码到AES,手把手教你用Python实现加密算法
密码学实战:从古典密码到AES的Python实现之旅 密码学作为信息安全的核心支柱,其发展历程就像一部浓缩的科技史。从凯撒大帝用过的简单字母替换,到如今保护我们银行卡交易的AES算法,加密技术始终在与破解者进行着无声的较量。本文…...
实战级SQL注入测试技巧揭秘
目录 一、高阶注入判断技巧(不爆数据,只测漏洞) 1. 布尔盲注(Boolean-based) 2. 时间盲注(Time-based) 3. 报错注入(Error-based) 二、高阶利用手法(实战…...
OSMnx实战:从OpenStreetMap到GeoPackage,高效构建城市路网分析数据库
1. 为什么选择OSMnx和GeoPackage处理城市路网数据 第一次接触城市路网分析时,我被各种数据格式搞得头大。直到发现OSMnx这个神器,配合GeoPackage格式,工作效率直接翻倍。OSMnx是Python生态中专门处理OpenStreetMap数据的工具包,它…...
告别CANFD高速丢帧!手把手教你配置STM32 FDCAN的收发器延时补偿(TDC)
攻克CANFD高速通信难题:STM32 FDCAN延时补偿实战指南 当CANFD的波特率飙升至10Mb/s时,许多工程师突然发现原本稳定的通信开始频繁丢帧——这往往不是代码逻辑问题,而是物理层信号延时在作祟。本文将带您深入STM32 FDCAN的Transceiver Delay C…...
基于Vue的博物馆智能导览系统[vue]-计算机毕业设计源码+LW文档
摘要:本文介绍了一款基于Vue框架开发的博物馆智能导览系统。系统旨在利用现代Web技术提升参观者在博物馆中的体验,通过提供便捷的博物馆信息查询、个性化的导览路线规划等功能,满足不同用户的需求。本文详细阐述了系统的开发背景、相关技术、…...
