![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
文章平均质量分 64
夜光小兔纸
每天进步一点点
展开
-
Oracle数据字典之——v$lock 和v$locked_object
参考链接:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/V-LOCK.html#GUID-87D76889-832C-4BFC-B8B0-154A22721781。其中在TYPE字段的取值中,本文只关心TM、TX两种DML锁类型;原创 2024-08-05 16:39:13 · 1010 阅读 · 0 评论 -
oracle查询出表中某几个字段值不唯一的数据
现计划创建唯一索引(sno,sname),由于数据录入失误导致这两列数据有重复数据,进而导致唯一索引创建失败。因此我们需要先查询出表中这些捣乱的数据,并进行去重处理。原创 2024-07-05 16:53:02 · 354 阅读 · 0 评论 -
Oracle中行列转换两种实现方法
列转行的列的新列名:指的是要列转行的列名的集合新名字,既创建一个新的列来存储要列转行的列,如这里的name,他的列中值在列传行之前为原视图的多个列;被聚合的列的新列名:指的是目标结果集的列名,按照目标结果集来填写,即原来聚合的数据如这里的nums,列转行之前的列中值放在取了新名字的这个列中;:指的是要列转行的列名,既为要放到列转行的列的新列名里的列中值,就是列转行之前视图的多个列。其中,PIVOT中的column1是要转换为列的列,column2是要汇总的列,alias是列的别名。列中值1,列中值2…转载 2024-07-05 16:29:50 · 741 阅读 · 0 评论 -
ORA-01775: 同义词的循环链问题
这里的table_owner是用户名, synonym_name是同义词名称, table_name 是表名。查询结果集中的这些同义词都会报“ ORA-01775: 同义词的循环链问题”。为了方便使用和管理,一般同义词是和表名或者视图名一致的。同义词对应的对象(表等)已删除,不存在了。ORA-01775: 同义词的循环链问题。2.查看与同义词同名对象已不存在的同义词。1.查看是否有名称不一致的同义词和对象。3.删除2中查询出的同义词。原创 2024-06-29 23:33:29 · 659 阅读 · 0 评论 -
Oracle函数—MINUS详解
minus”直接翻译为中文是“减”的意思,在Oracle中也是用来做减法操作的,只不过它不是传统意义上对数字的减法,而是对查询结果集的减法。A minus B就意味着将结果集A去除结果集B中所包含的所有记录后的结果,即在A中存在,而在B中不存在的记录。racle的minus是按列进行比较的,所以A能够minus B的前提条件是结果集A和结果集B需要有相同的列数,且相同列索引的列具有相同的数据类型。转载 2024-06-29 23:14:20 · 1315 阅读 · 0 评论 -
ORA-00054 资源正忙 处理方法
ORA-00054是Oracle数据库中的一个常见错误,表示用户试图在正在被锁定的资源上执行不允许的操作,导致资源处于忙碌状态,下面这篇文章主要给大家介绍了关于oracle错误ORA-00054资源正忙的解决办法,需要的朋友可以参考。另外,需要注意的是,杀死会话只是解决 ORA-00054 错误的一种方法,而不是根本解决问题的方法。RA-00054 错误是 Oracle 数据库中的一种常见错误,表示用户试图在正在被锁定的资源上执行不允许的操作,因此资源处于忙碌状态。在等待期间,可以尝试重新执行操作。转载 2024-06-18 20:45:26 · 694 阅读 · 0 评论 -
ORA-25153 错误处理
语法:CREATE TEMPORARY TABLESPACE temp_tbs TEMPFILE ‘file_path’ SIZE 100M;1.确认临时表空间是否存在:检查数据库中是否存在你尝试指定的临时表空间。如果临时表空间不存在,你需要创建一个新的临时表空间,并指定一个临时文件。注意:确保指定的文件路径是有效的,且数据库用户对其有写入权限。如果临时表空间不存在或者已经为空,就会抛出这个错误。本次查询发现有临时表空间,但是没有datafile。再次执行update语句,可成功执行。原创 2024-06-17 15:36:20 · 295 阅读 · 0 评论 -
Oracle UNDO空间详解
一个事务开始后,需要回滚块的时候不需要从从磁盘读undo block,直接从shared pool 中分IMU BUFFER,之后回滚信息写到imubuffer中,回滚信息写入的时候也要产生redo,但是imubuffer减少了物理io ,针对IMUbuffer 在shared中会生成专门供其使用的redo日志区,叫做private redo。expired:oracle希望已提交事务对应的 undo 表空间中的 undo 段中的区再保留一段时间(保留的时间就是undo_retention)。转载 2024-05-29 21:20:19 · 685 阅读 · 0 评论 -
Oracle物化视图(Materialized View)
与Oracle普通视图仅存储查询定义不同,物化视图(Materialized View)会将查询结果"物化"并保存下来,这意味着物化视图会消耗存储空间,物化的数据需要一定的刷新策略才能和基表同步,在使用和管理上比普通视图要略复杂。转载 2024-05-05 20:30:44 · 1326 阅读 · 0 评论 -
oracle 执行计划详解
执行计划是指示 Oracle 如何获取和过滤数据、产生最终的结果集,是影响SQL 语句执行性能的关键因素。在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让 SQL 引擎为语句生成执行划。先了解 SQL 语句的处理执行过程。当一条语句提交到 Oracle 后,SQL 引擎会分为三个步骤对其处理和执行:解析(Parse)、执行(Execute)和获取(Fetch),分别由 SQL 引擎的不同组件完成。原创 2024-04-22 21:49:33 · 3093 阅读 · 0 评论 -
Oracle优化器详解
为 SQL 生成最佳的执行计划,比如什么时候是全表扫描(FTS full table scan),什么时候是索引范围搜索(Index Range Scan),或是全索引扫描(INDEX fastfullscan,INDEX_FFS);如果是表于表之间连接的时候,它会负责让表之间以一种什么样子的形式来关联,比如hash_join 还是 nested loops 或者是 merge join。这些因素直接决定了 SQL 的执行效率。原创 2024-04-21 18:33:35 · 858 阅读 · 0 评论 -
Oracle Hint 语法详解
Hint 是 Oracle 提供的一种 SQL 语法,它允许用户在 SQL 语句中插入相关的语法,从而影响 SQL 的执行方式。因为 Hint 的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是 Oracle 提供给 DBA 用来分析诊断问题的工具。原创 2024-04-21 18:24:03 · 1721 阅读 · 0 评论 -
Oracle数据库故障类别及日常运维规划策略
与数据库关联的所有控制文件是完全相同的。重做日志组由一个或多个重做日志文件组成,组中的每个日志文件都是其它日志文件的副本。进程监视程序(PMON) :PMON定期轮询服务器进程,如果发现某个服务器进程的用户不再处于连接状态,会进行恢复,并回退未提交的更改并解除失败会话持有的任何锁定。导致一个或多个数据库文件(数据文件、控制文件或重做日志文件)丢失或损坏的任何故障。理想情况下,快速恢复区应足够大,可存放数据文件和控制文件副本,以及基于保留策略从保留的备份恢复数据库所需的闪回日志、联机重做日志和归档日志。原创 2024-04-15 10:29:07 · 1298 阅读 · 0 评论 -
Oracle 控制文件详解
将/u01/app/oracle/oradata/ORCL/control01.ctl 改成/u01/app/oracle/oradata/ORCL/control04.ctl。修改 /u01/app/oracle/oradata/ORCL/control04.ctl 路径,为 /u01/app/oracle/oradata/control04.ctl。创建控制文件的语句从6.2中做的控制文件备份control_text.ctl中copy,选择NORESETLOGS语句。(也可在非归档模式)原创 2024-03-25 22:38:44 · 1284 阅读 · 0 评论 -
ORA-04031 错误分析及处理方法
当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先刷新池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大单个的大块内存满足请求,就会产生ORA-04031 错误。原创 2024-03-25 11:24:50 · 1903 阅读 · 0 评论 -
Oracle参数文件详解
参数文件用于存放实例所需要的初始化参数,因为多数初始化参数都具有默认值,所以参数文件实际存放了非默认的初始化参数。原创 2024-03-24 14:02:27 · 1061 阅读 · 0 评论 -
Oracle 19c 中CDB和PDB的常见操作介绍
在 CDB 启动之后,PDB 是自动启动到 mount 状态,而不是 OPEN状态。----使用 sqlplus / as sysdba 登录连接到 CDB。----排除某些 pdbs 不启动,启动所有未排除的pdbs。方法一:在pdb open 状态下保存状态。----启动或者关闭 all pdbs。----以只读方式打开PDBS。----以受限模式打开PDB。----查看有哪些CDB。----查看容器当前状态。----启动 PDB。----关闭 PDB。原创 2024-03-18 14:42:46 · 1493 阅读 · 0 评论 -
删除 Oracle 软件和数据库教程
1.使用 deinstall 工具删除安装的 Oracle 软件的可执行文件和配置文件原创 2024-03-17 09:49:01 · 493 阅读 · 0 评论 -
删除oracle数据库教程
如果只是删除数据库而无需删除数据库软件,可通过如下两种方式实现。原创 2024-03-17 09:45:14 · 3010 阅读 · 1 评论 -
sqlplus设置提示符
作为DBA,需要管理好多数据库,经常会有一台服务器安装多个oracle实例的情况,为避免误操作实例,我们需要在执行sqkplus前,先通过$ echo $ORACLE_SID或 SQL>select name from v$database查看当前实例,这样难免有些麻烦。1.在oracle用户下打开 $ORACLE_HOME/sqlplus/admin目录。答案是肯定的,下面我就来说说如何设置sqlplus提示符。那么,是否可以实现在sqlplus中显示当前实例名呢?原创 2024-03-16 21:10:27 · 491 阅读 · 0 评论 -
rlwrap安装
如果想实现直接移动光标到指定位置修改内容,又或者想在sqlplus中上下翻行来浏览历史记录,应该怎么做呢?这里就给大家介绍一款工具:rlwrap,它可以帮助我们在sqlplus中实现上述需求。原创 2024-03-16 18:17:36 · 847 阅读 · 0 评论 -
bash: sqlplus: command not found 问题解决方法
【代码】bash: sqlplus: command not found 问题解决方法。原创 2024-03-15 22:27:47 · 2984 阅读 · 0 评论 -
sqlplus登录卡死无响应异常处理
通过Sqlplus 访问数据hang死在登录界面,且不能通过Ctrl+C取消。原创 2024-03-15 20:48:11 · 1197 阅读 · 0 评论 -
Oracle数据库连接方式
在平时的开发和运维工作中经常会有连接数据库的需求,而连接Oracle数据库的方法有很多种,本文给大家介绍常用的3种方法。希望对大家有所帮助。原创 2024-03-12 17:30:32 · 1445 阅读 · 0 评论 -
oracle asm容量查询
除了lsdg命令以外,您还可以使用ASMCMD du命令查询ASM磁盘组的使用容量。首先,您可以使用ASM实例上的v$asm_diskgroup视图查询ASM磁盘组的总容量。除了上述默认的SQL语句以外,您还可以使用下面的命令查询ASM磁盘组容量。此查询将返回ASM磁盘组的名称,总容量,可用容量,所需镜像空间以及可用于文件的空间。该命令将返回ASM磁盘组的名称,状态,总容量,可用容量,使用率和重复属性。此查询将返回ASM磁盘的名称,路径,总容量和可用容量。该命令将返回ASM磁盘组及其子目录的使用情况。转载 2023-12-08 16:38:36 · 1238 阅读 · 0 评论 -
Oracle — insert into,insert all into,insert first into的区别
first:考虑先后关系,如果有数据满足第一个when条件又满足第二个when条件,则执行第一个then插入语句,第二个then就不插入第一个then已经插入过的数据了。其区别也可描述为,all只要满足条件,可能会作重复插入;first首先要满足条件,然后筛选,不做重复插入。all:不考虑先后关系,只要满足条件,就全部插入;转载 2023-12-08 15:03:11 · 458 阅读 · 0 评论 -
Oracle中的NVL、NVL2、NULLIF、COALESCE函数详解
NVL、NVL2、NULLIF与COALESCE都是处理当前字段值为空时候的转换函数。接下来我们对这几个函数进行介绍。原创 2023-11-16 10:54:39 · 3872 阅读 · 0 评论 -
DBA_IND_STATISTICS 字段含义
参考:https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000885743。展示数据库中所有索引的优化器统计信息。原创 2023-11-16 10:10:21 · 201 阅读 · 0 评论 -
Oracle 时区详解
由于地球经纬度及地球自转引起的经度方向,不同的经度的地方,所感受到的昼夜是不同 的。有关国际会议决定将地球表面按经线从东到西,每隔经度15度划分一个时区,并且规定 相邻区域的时间相差1小时。这就是时区的由来。而实际使用中,往往不是严格按照这个标准来做的。国家的存在,为了行政工作的方便,一 个国家都有一个本国的标准时,大部分国家以首都所在的时区作为国家的标准时。比如, 我大中国以北京所在时区(东八区)作为中国的标准时。在IT领域,很多时候我们都会涉及 到时区的问题。原创 2023-08-25 14:33:56 · 2807 阅读 · 0 评论 -
ORA-01502: 索引或这类索引的分区处于不可用状态
查看出现问题的分区表,均有一个共同点:表上以“pk_”开头的索引为unusable状态,以“pk_”开头的索引是随创建主键约束而创建的。所以可能是在删除分区的时候,导致分区表上的唯一性全局索引为不可用状态,导致新的数据无法正常插入,从而引发了该错误。ORA-01502: 索引或这类索引的分区处于不可用状态(英文:ora-01502:index ‘schema.index_name’ or partition of such index is in unusable state)。3.重建这个失效的索引。原创 2023-08-21 20:31:29 · 3785 阅读 · 0 评论 -
Windows下 Oracle 12c 安装保姆级图文详解
Windows下 Oracle 12c 安装保姆级图文详解原创 2023-07-10 20:41:53 · 7478 阅读 · 5 评论 -
Oracle运维之lock
查看RAC环境的会话阻塞,针对某个具体的对象。–生成 kill 掉大于300秒的会话语句。–查看被锁对象并生成 kill 语句。–查看会话阻塞并生成kill语句。–RAC环境的会话阻塞和对象信息。–根据 sid 查出 sql。原创 2023-05-18 11:40:29 · 882 阅读 · 0 评论 -
谁都能看懂之“Oracle碎片整理”
新的地块来满足市场需求,于是经开区整体的土地规划的越来越多了(表空间越来越大),在已经规划出去的(被formatted的数据块)土地上,也有一些企业搬走了(delete操作),但是在国土局的规划图上还是占用状态(HWM高水位线),每次对土地进行清查(表扫描scan),这部分土地也是相当消耗人力。终于在经过多年的发展以后,经济开发区变成了老城区,这里存在着大量无法使用的小片地块,国土局发现老城区越来越不好规划和管理了,于是决定老城区整体拆迁,整体改造(碎片整理)。不能扯太远,下面说一点专业性的内容吧。转载 2023-03-31 16:36:53 · 398 阅读 · 0 评论 -
ORACLE中如何查看数据库对象和数据文件的对应关系?
Oracle数据库中,我们怎样查看表空间或数据文件包含哪些数据库对象呢?有怎样查看数据库对象所在的表空间及数据文件呢?本文将提供一些查询脚本,供大家参考。原创 2023-03-31 16:15:04 · 861 阅读 · 0 评论 -
ORACLE同义词详解
在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。转载 2023-03-29 19:27:22 · 417 阅读 · 0 评论 -
一文搞懂Oracle 0 至 6 级锁(附案例详解)
把整个店的珠宝包下来,让别人参观,预定,但是不能买卖(这在ORACLE中叫只读锁,只允许别人读,也就是只允许第0,1,2类人来珠宝店,让别人只读方式的参观,不允许买卖,再来个第4类人,还是允许的,因为大家虽然都想包,但是大家的目的都是分享,而不是独占,所以是可以兼容的);比如用户A在表T上执行了UPDATE第1行,那么表t上有个表级的共享锁,那用户B在表T上执行了UPDATE第2行,那么也会在表t上有个表级的共享锁,虽然行上都是排它锁,但不是同一行,所以他们在行上没有冲突,在表上也没有冲突。转载 2023-02-24 18:38:20 · 4850 阅读 · 0 评论 -
Oracle监听详解
在Oracle数据库服务器中,通过一个叫“监听器”的组件接收来自客户端的连接请求。它是客户端和服务器端的中间组件。监听器(LISTENER)是位于服务器端的、独立运行的一个后台进程,它运行在服务器端,但是独立于数据库服务器单独运行,也就是说,当数据库没有启动的时候,监听器也能独立运行。它负责对客户端传入的连接请求进行监听,并且对服务器端的连接负荷进行调整。原创 2023-02-23 20:29:25 · 6432 阅读 · 0 评论 -
Oracle未提交事务引起的锁
笔者所在公司最近上了一套系统,系统使用中间件连接Oracle数据库,使用一段时间之后系统就会停止响应。发现问题在于2点:1.中间件有线程执行了Delete语句之后,一直处于等待状态,没有COMMIT提交事务,对表施加了行锁且该线程无法复用(中间件总线程数有限制)2.对表施加了行锁之后,后续中间件线程如果需要修改该行,将被阻塞。以上两个因素不断发生,最终导致中间件线程数耗尽,系统停止响应。下面会分两个部分,第一个部分是直接给出判断以上故障的SQL语句,第二部分是通过做实验的方法重现问题。转载 2023-02-23 18:38:35 · 2824 阅读 · 0 评论 -
Oracle 锁相关查询脚本
Oracle–找到被锁住的对象(非死锁)#RAC环境的会话阻塞,针对某个具体的对象。#从历史会话中查看引起行锁竞争的语句。#当前会话中查看引起行锁竞争的语句。#RAC环境的会话阻塞和对象信息。#kill掉大于300秒的会话。#查看被锁住的对象和用户信息。#单实例的会话阻塞,详细信息。#查看历史阻塞会话和锁信息。#找到暂时阻塞的会话和锁定。#RAC环境的会话阻塞。#查看哪些表被锁住了。转载 2023-02-23 14:30:11 · 546 阅读 · 0 评论 -
Oracle重建控制文件
注:如果在8中出现“ORA-01589:must use RESETLOGS or NORESETLOGS option for database open”控制文件能够从当前的日志文件获取准确的scn和时间点。4、查看trace文件(我的trace文件路径为:/u01/app/oracle/diag/rdbms/test/test/trace)user_dump_dest 文件对应的路径即为trace文件的路径。这可能是因为在集群环境中,其它实例未关闭。查看:实例名_ora数字_.trc的文件。原创 2023-02-03 17:27:43 · 3855 阅读 · 0 评论