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} 使用完以后却出现了如上图…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
