
Oracle
文章平均质量分 60
本专栏致力于深入探讨Oracle这一世界领先的信息管理软件。我们将从Oracle数据库的历史和发展、市场占有率出发,带领读者全面了解Oracle数据库的强大功能和广泛应用。专栏内容涵盖Oracle数据库的基本概念、安装配置、SQL语句的使用,以及高级特性如存储过程、触发器等。
笑锝没心没肺
时间宝贵,要看就看有用的,
解决问题,要看就看标红的,
研究学习,就去看全部的吧。
展开
-
Oracle数据库账户解锁
在多次输入system错误密码之后,会被提示,当前用户被锁定。甚至于更囧的是,连sys等其他用户的密码也记不得了。(1)以sysdba身份登录,不需要提供用户名和密码,更改之后的用户名/密码是:system/xxx.先解锁,再为用户重新设定密码。(3)重新设定密码。原创 2025-02-27 09:15:08 · 134 阅读 · 0 评论 -
Linux平台生成AWR报告(通过SQL方式)
3、 使用Oracle数据库的DBMS_WORKLOAD_REPOSITORY包来生成一个全局AWR(Automatic Workload Repository)报告的HTML格式输出。1、 列出数据库的历史快照信息,包括每个快照的ID、数据库ID、实例编号以及快照的开始和结束时间,并且结果会按照快照开始的时间从最新到最旧排列。2、查询过去7天内每个快照间隔的"DB TIME"的差异,即数据库在处理用户请求和数据库操作上花费的时间。1、查询当前数据库快照的历史记录(需要记录DBID)。原创 2025-02-25 10:06:26 · 495 阅读 · 0 评论 -
oracle基础命令,开启关闭登录登出
force模式---->强制启动,如果其他三种方式无法启动,可尝试此模式。open模式----->默认startup时的开始模式,正常打开数据库。终止关闭:shutdown abort,这是属于强制关闭,会丢失数据。事务关闭:shutdown transactional。Monut模式------>加载数据库实例不打开。开启有:NoMount模式----->不加载数据库实例。立即关闭:shutdown immediate。关闭有:正常关闭:shutdown nomal。原创 2025-02-20 11:28:19 · 208 阅读 · 0 评论 -
ORACLE 删除表空间及用户信息
4、级联删除表空间等;原创 2025-02-20 11:23:55 · 151 阅读 · 0 评论 -
oracle数据库备份
当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。4. RMAN可以进行增量备份(增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件)1.RMAN是 ORACLE提供的一个备份与恢复的工具,可以用来执行完全或不完全的数据库恢复。1. 步骤:shutdown数据库---> copy文件---> start数据库。1. 说明:前提条件是数据库运行在归档模式(oracle数据库安装默认运行在非归档模式)原创 2025-02-20 11:17:44 · 655 阅读 · 0 评论 -
ORA-00257: archiver error.问题解决
备份数据量大,闪回空间磁盘存储不够,导致数据库连接中断。原创 2025-02-20 10:51:02 · 798 阅读 · 0 评论 -
Oracle ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段,已解决
ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段。原创 2025-01-22 09:56:11 · 1246 阅读 · 0 评论 -
Linux平台生成AWR报告
用ftp工具登录服务器,并把生成的报告下载到本地。原创 2025-01-20 11:03:56 · 817 阅读 · 0 评论 -
事务的四大特性及隔离级别
幻读是事务非独立执行时发生的一种现象。例如我们在使用JDBC操作数据库时,在提交事务方法后,提示用户事务操作完成,当我们程序执行完成直到看到提示后,就可以认定事务以及正确提交,即使这时候数据库出现了问题,也必须要将我们的事务完全执行完成,否则就会造成我们看到提示事务处理完毕,但是数据库因为故障而没有执行事务的重大错误。原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。原创 2025-01-14 10:20:03 · 904 阅读 · 0 评论 -
数据库中drop、truncate、delete三种删除的区别
4.truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发trigger。与truncate类似,delete也只删除内容、释放空间但不删除定义;1.delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行进行回滚操作。truncate不能删除行数据,虽然只删除数据,但是比delete彻底,它只删除表数据。执行drop语句,将使此表的结构一起删除。原创 2025-01-14 10:10:41 · 800 阅读 · 0 评论 -
SQL 性能优化技巧
对于支持事务的InnoDB类型的表来说,影响速度的主要原因是AUTOCOMMIT默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动提交,严重影响了速度。在重新启动的MySQL,记得来温暖你的数据库,以确保您的数据在内存和查询速度快,考虑持久连接,而不是多个连接,以减少开销,基准查询,包括使用服务器上的负载,有时一个简单的查询可以影响其他查询,当负载增加您的服务器上,使用SHOW PROCESSLIST查看慢的和有问题的查询,在开发环境中产生的镜像数据中 测试的所有可疑的查询。原创 2025-01-13 11:33:28 · 729 阅读 · 0 评论 -
ORACLE 查看RMAN的备份信息总结
【代码】ORACLE 查看RMAN的备份信息总结。原创 2025-01-10 11:42:11 · 589 阅读 · 0 评论 -
oracle数据库打补丁
打补丁使用opatch工具,具体操作方法以补丁包中的readme.txt为准。原创 2025-01-10 11:11:21 · 1111 阅读 · 0 评论 -
oracle常用监控SQL语句
【代码】oracle常用监控SQL语句。原创 2025-01-10 10:58:00 · 193 阅读 · 0 评论 -
Oracle: ORA-00904 WM_CONCAT invalid identifier 解决方案
由于技术架构的调整,数据库需要进行迁移,将表和存储过程从Oracle数据库迁移到另外一个Oracle数据库,在存储过程迁移过程中,遇到个问题,使用WM_CONCAT的存储过程编译不会通过,并且报 ORA-00904: "WM_CONCAT": invalid identifier 错误。在查一些资料后,发现11gr2之后的版本中WM_CONCAT函数已经弃用,而应用在程序中确使用了该函数,导致程序出现错误。原创 2025-01-10 10:24:07 · 548 阅读 · 0 评论 -
在Oracle中配置查看客户端连接的IP信息 (两种方式)
大家都知道在v$session 中记录着客户端的机器名称,但是没有IP , 如果记录clinet ip 呢?原创 2025-01-10 10:14:50 · 563 阅读 · 0 评论 -
oracle 数据库归档模式的打开与关闭
在实际应用中,我们需要实现对数据的备份,其实现方式主要有冷备份和热备份两种。现在我们主要讨论热备份的具体操作。热备份也称为联机备份,在数据库的存档模式下进行备份。oracel数据库默认存档模式为关闭状态,要实现数据的热备份,需要改变数据库的存档模式,将其打开。并且需要注意的是数据库的存档模式的操作需要在MOUNT实例中进行,且数据库不能处于OPEN状态。原创 2025-01-10 10:06:04 · 286 阅读 · 0 评论 -
oracle基础命令,开启关闭登录登出
sqlplus "登录名"/"密码"@"实例名" as sysdba //引号内是需要根据自己的情况变化。force模式---->强制启动,如果其他三种方式无法启动,可尝试此模式。open模式----->默认startup时的开始模式,正常打开数据库。终止关闭:shutdown abort,这是属于强制关闭,会丢失数据。Monut模式------>加载数据库实例不打开。开启有:NoMount模式----->不加载数据库实例。关闭有:正常关闭:shutdown nomal。原创 2025-01-10 10:00:10 · 400 阅读 · 0 评论 -
Oracle启动监听报错:The listener supports no services解决【ORA-12514】
提示没有监听的服务;之前都不会出现这样的问题,难道是Hosts文件写错了;注:里面的orcl根据你安装的数据库实例名确定,我用此法解决了这个报错。在listener.ora里面添加了一行。原创 2025-01-09 11:58:30 · 963 阅读 · 0 评论 -
Oracle 数据库归档日志删除方法
【代码】Oracle 数据库归档日志删除方法。原创 2025-01-09 11:50:39 · 672 阅读 · 0 评论 -
Linux 设置oracle的sid,Oracle修改实例名SID
这个时候虽然实例名字已经改成linux,但是数据库名(dbname)仍然为orcl,因此在客户端仍旧无法连接,如需要连接,则需修改dbname。当忘记sys口令的时候,可以使用orapwd命令重建口令文件。但是在Oracle 18c中却会报OPW-00029的错误。这是因为Oracle 增强了密码验证函数:ora12c_verify_function。将所有文件名中包含原来的sid的修改为对应的新sid的。因为口令文件改名后不能在新实例中使用,所以重建。6、重建口令文件(高版本会报错,解决见后面)原创 2025-01-09 11:46:59 · 893 阅读 · 0 评论 -
Oracle中强行断开用户连接的方法
alter system disconnect session有两个选项,一个是post_transaction,另外一个是immediate。使用此语句会返回一个进程列表,每行有两个数字,然后用数字替代下面的sid和serial。不会等待当前进程完成,类似于alter system kill session。会等待session做完当前的transaction后再杀死session。通过select 语句可能返回多行记录,所以要多次执行alter语句。原创 2025-01-09 11:35:33 · 230 阅读 · 0 评论 -
ORACLE 12C EM 端口5500关闭及如何修改默认端口
大家都知道,ORACLE 12C EM的默认启动端口是5500,为防止异常攻击,建议将此端口对应的服务进行关闭,规避受攻击风险。使用lsnrctl status,查看监听状态。原创 2025-01-09 11:32:20 · 357 阅读 · 0 评论 -
Oracle查询表空间使用情况速度很慢
这个视图记录了表空间中空闲的区,如果一个表空间里的free状态的extent不连续,那么在dba_free_space中会有多条记录对应同一个表空间,当然也会有extent连续但是没有合并起来的情况出现。当用户drop对象时,可以从dba_free_space视图里看到相关对象extent信息。被drop掉的对象都存放在recyclebin中,如果recyclebin里有大量被drop的对象,并且这些对象都曾被分配了大量的extent,就会出现查询dba_free_space缓慢的问题。原创 2025-01-09 11:25:36 · 517 阅读 · 0 评论 -
ORACLE:ORA-00020 maximum number of processes (1000) exceeded
并报错ORA-00020: maximumnumber of processes (300) exceeded。生产系统,不能重启数据库,好在系统过了一会儿恢复正常了。可以看到默认的processes设置的是300. 太小了,稍后我们得改一改。在系统空闲时,修改系统processes参数为1000,重启数据库。【processes参数是静态参数,修改后需要启动数据库。根据报错信息是由于processes进程数达到了最大值。可以看到现在processes 参数被改成1000了。--此时已经登录不进库。原创 2025-01-09 11:15:21 · 585 阅读 · 0 评论 -
set define off 在数据库脚本中的作用
在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串“SQL&Plus”系统会理解为以“SQL”打头的字符串,它会提示你输入替代变量Plus的值,如果你输入ABC,则最终字符串转化为“SQLABC”。原创 2025-01-09 11:05:08 · 172 阅读 · 0 评论 -
Oracle创建dblink(实现跨数据库查询)纯干货
创建dblink实现跨库查询,创建本地数据库对远端数据库的dblink后,就可以像操作本地数据库一样操作远端数据库,这是Oracle给我们提供一个功能,让我们的跨库查询变得非常简单便捷。原创 2025-01-09 10:56:41 · 1447 阅读 · 0 评论 -
oracle序列(sequence)
话说序列很少人知道,因为Mysql和sql server都有自动增长字段(如ID主键自动增长的整数),而Oracle却没有提供该用法,那么Oracle提供了更加灵活方便的策略-建立对象序列。序列创建之后也是真真实实存在的,存在我们的磁盘上,并可以适用场合调用,序列总是从指定的长度开始,创建了之后可以按照指定步长进行累加,获得新的整数。原创 2025-01-08 11:43:11 · 1062 阅读 · 0 评论 -
Delete,Update,Drop操作后如何恢复数据
如果我们delete/update表中的数据或drop表后,又后悔了,那该如何进行恢复数据呢?我们知道如果DML操作没有提交事务前,是可以通过rollback进行回退,但是DDL操作是自动提交事务的,在进行相关知识点查询以及进行实验操作后,接下来就对delete,drop操作后如何进行恢复数据进行实验。第一步:查询执行更新操作的时间 select r.FIRST_LOAD_TIME,r.* from v$sqlarea r order by r.FIRST_LOAD_TIME desc;原创 2025-01-08 11:05:15 · 551 阅读 · 0 评论 -
Oracle登录操作审计配置
Oracle的审计功能(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在SYSTEM表空间中的sys.aud$表中,可通过视图dba_audit_trail查看)或操作系统审计记录中(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/),默认情况下审计是不开启。注意:审计表默认安装在SYSTEM表空间,所以要确保SYSTEM表空间充足。DB:审计的结果只有连接信息,记录在数据库的审计表aud$。和审计相关的两个参数说明,原创 2025-01-08 10:51:42 · 1226 阅读 · 0 评论 -
Oracle:左连接、右连接、全外连接、(+)号详解
运算符是一个特殊的连接运算符,它用于外连接(Outer Join)中的旧式语法。它通常用于实现左外连接(LEFT OUTER JOIN)或右外连接(RIGHT OUTER JOIN),但在现代的SQL标准中,推荐使用。在左连接和右连接时都会以一张表为基础表,另一张表为补充表,基础表的内容会全部显示,然后再加上两张表匹配的内容。运算符在Oracle中是有效的,但它不是SQL标准的一部分,并且可能在其他数据库系统中不被支持。左外连接,右外连接,全外连接。中没有匹配的行,相关列将返回 NULL。原创 2025-01-08 10:50:46 · 1048 阅读 · 0 评论 -
ORA-02266 表中的唯一主键被启用的外键引用,问题处理
5)POREIGN KEY (外部键):在表之间建立一种父子(parent-child)或主从表关系,在表上定义的外部键(定义在从表上)可以指向主键或者其他表的唯一键,要求外键列数据必须在主表的主键列存在。4)PRIMARY KEY (主键):用来唯一的标识出表的每一行数据,主键列不能重复且不能为NULL值,一个表只能有一个主键约束,但是可以由多个UNIQUE 唯一约束。3)UNIQUE (唯一):保证在指定的列中没有重复值,在该表中每一个值或者每一组值都将是唯一的。原创 2025-01-07 11:59:30 · 661 阅读 · 0 评论 -
ORCALE创建用户给其查询权限
【代码】ORCALE创建用户给其查询权限。原创 2025-01-07 11:51:10 · 203 阅读 · 0 评论 -
ORACLE(RAC) ASM添加删除磁盘(分区,挂载等)
重平衡的过程就是从其他的磁盘向新磁盘挪动数据的过程,如果数据量很大,这个时间会很长,可以更改power值加快速度,默认power值为1,可根据存储性能将此值设置大一些(power取值0-11),数据平衡完毕复原power值即可。原oracle 11gR2 RAC,asm磁盘时间久远需要更换,一下是更换磁盘的相关操作,当然,如果扩容也是同样的操作,只是不需要再平衡之后删除磁盘组里的磁盘而已。查看挂载磁盘信息并确认:hw-disk1,hw-disk2,hw-disk3,hw-disk4,hw-disk5。原创 2025-01-07 11:44:42 · 1478 阅读 · 0 评论 -
oracle中如何将表缓存到内存中
oracle快速将表缓存到内存中,使得访问速度加快。原创 2025-01-07 11:14:31 · 289 阅读 · 0 评论 -
Oracle数据泵(EXPDP和IMPDP)的使用
2、再就是,表空间问题,测试库中的用户下的某个表的索引没有在他的默认表空间里,这样你要在目标端(这里就是生产环境),创建好对应的表空间, 就是说如果你在测试库把a用户的下的某个表的权限授给了b,那么你在把a用户用数据泵倒进生产库时,他会在生产库中检测有没有用户b。导出正常,导入数据时,只成功导入部分记录等数据,另外的部分提数ora 39112错误,经查是因为导出的用户数据中,有部分记录的表用的索引在另一表空间中,该空间还未创建,所以导致该失败。进程的数量,应与导出文件的数量一致。否则在执行时,会产生报错。原创 2025-01-07 11:02:45 · 1319 阅读 · 0 评论 -
超好用的PLSQL设置(Oracle)
选中需要定义的Item,然后按一个快捷键组合即可,如果所按的快捷键已有定义,会有提示,这时候Cancel,另外选择快捷键组合即可;通常情况下,打开PLSQL Developer后,最经常干的事就是打开SQL Window和Command Window,就给这两个操作定义了快捷键, ALT+S 和 ALT + C,这样拿鼠标点三下的事情只需要按一下键。设置方法:菜单Tools->Preferences->User Interface->Key configuration。原创 2025-01-07 09:41:55 · 1346 阅读 · 0 评论 -
Oracle数据库 查询所有表
注:all_tables查出来是查得所有用户下的表,当然也包括你登录的用下的表,然后加一个where你要查的那个用户名就可以了。(记得用户名要大写)注: 3-8号的都可以在后面加一个 where owner = 'TEST',就是你要查的那个用户名下的信息。原创 2025-01-07 09:26:27 · 3386 阅读 · 0 评论 -
【Oracle数据库死锁问题整理】
这个查询将显示等待会话(Waiting Session)正在等待的事件(Waiting For)以及持有锁的会话(Holding Session)。在Oracle数据库中,死锁是指两个或多个会话因为互相等待对方释放锁而无法继续执行的情况。: 通常,Oracle会自动解决死锁,选择一个会话作为牺牲品回滚其事务。: 确定了死锁的会话后,你需要分析这些会话正在执行的SQL语句和事务,以确定死锁的原因。: 如果有会话在等待,你可能需要进一步查找是否有死锁发生。: 接下来,你可以通过查找相互阻塞的会话来确定死锁。原创 2025-01-02 10:50:13 · 535 阅读 · 0 评论