1 ORACLE 学习
文章平均质量分 59
Oracle
雅冰石
DBA
展开
-
oracle怎样使用logmnr恢复误删除的数据
如果有同事误删除数据了,可以用logmnr挖掘归档日志,生成回滚sql,快速恢复数据,比用整个库的备份恢复要快得多。#注意,只分析第一个日志文件的时候加,,后面的文件不要加这个,否则会少数据。原创 2024-12-24 16:59:15 · 423 阅读 · 0 评论 -
oracle 12c查看执行过的sql及当前正在执行的sql
当执行新的SQL语句时,如果这条SQL语句不在共享池中,数据库会进行硬解析,并将解析后的执行计划加载到共享池中。如果执行的是共享池内已经存在的SQL语句,则只会进行软解析,LAST_LOAD_TIME的值不会改变。假如同事让排查某个接口都有哪些慢sql,可以使用这个方法(先调用下这个慢接口,然后统计下这个时间段内的慢sql),只是会导出非这个接口的多余慢sql,再结合业务进行筛选吧。#统计共享池中某类sql执行次数,总体执行时长,平均执行时长等信息,并按总体执行时长降序排序。原创 2024-11-24 16:18:30 · 1803 阅读 · 1 评论 -
oracle排查长时间没提交的事务造成的阻塞案例
有时,一个事务里会包含多个sql,有的还包含上传附件等操作,一个事务长时间不提交会导致其他相关sql被阻塞,比如事务里的sql执行得很快,但上传附件卡住的话,那也会阻塞其他相关sql。查看锁阻塞的sql只能查看到阻塞方事务最近执行的一条sql,查不到之前的sql,所以有时候查出的阻塞结果不准确,这时候需要结合对这个表的审计来确定阻塞方sql。开发同事反馈生产环境某个接口慢,一个普通的按主键更新的update竟然需要5分钟,而我手动执行秒返回,猜测是发生了阻塞,需要排查出阻塞源。会话2会被会话1阻塞。原创 2024-11-22 12:59:39 · 1240 阅读 · 0 评论 -
oracle会话追踪
可以看到该会话执行过的sql,sql_id,PLAN HASH,用户名,等待事件等信息。#跟踪源端sid为372,serial#为58441的会话。#在要被追踪的会话里执行。原创 2024-11-21 15:02:33 · 937 阅读 · 0 评论 -
oracle查看锁阻塞-谁阻塞了谁
union前的sql可以查看源端执行过的sql(在一个事务里执行了,但是还没提交)。但是假如源端执行了这个事务后,又执行了其他事务,这时候查看源端阻塞sql就不准确了。union后的sql可以查看当前源端正在执行的sql。模拟一个会话update一条记录,没提交。在每条记录里可以看到是谁阻塞了谁。978阻塞了729;372阻塞了616。这时结果是不准确的。原创 2024-11-20 18:17:04 · 530 阅读 · 0 评论 -
OEM上怎样查看某个历史时间段的数据库性能情况,慢sql等
有时某个时间段cpu使用率高或者有其他问题,想看下那个时间段的top sql,可以使用OEM看ASH。根据筛选谓词去原sql里查找,可以看到具体慢在哪里。原创 2024-05-17 11:59:04 · 420 阅读 · 1 评论 -
使用oracle sql monitor查看sql慢在哪里
activity活动这里显示时间大多花在了哪里。原创 2024-04-26 15:30:51 · 715 阅读 · 0 评论 -
oracle rman restore database的时候报错RMAN-06023: 没有找到数据文件1的副本来还原
在oracle异地备份恢复测试数据库上执行restore database的时候报错:RMAN-06023: 没有找到数据文件1的副本来还原可是我看备份明明都是存在的,而且已经执行了catalog start with命令。原创 2024-04-24 15:20:33 · 1362 阅读 · 0 评论 -
DG怎样手动切主从-用普通命令方式(不用dg broker)
注:如果是TO PRIMARY表示可以正常切换,不过还会遇到NOT ALLOWED和PENDING或者LATENT,实际操作下来如果备库的switchover_status为not allowed或者to primary都可以正常切换。则检查下主从的log_archive_dest_2值是否为空,如果为空,需要设置。#检查主从的log_archive_dest_2值是否为空,如果为空,需要设置。#检查主从的log_archive_dest_2值是否为空,如果为空,需要设置。如果不能,则做以下检查。原创 2024-04-16 18:54:26 · 1005 阅读 · 0 评论 -
在一台恢复测试机器上验证oracle备份有效性
ORA-00312: 联机日志 1 线程 1: '/data/app/oracle/oradata/orcl/redo01.log'ORA-00349: 无法获得 '/oracle/app/oracle/oradata/orcl/redo01.log' 的块大小。删除数据文件一是为了释放空间,二是不删除的话,到时恢复完后分不清是以前的数据文件,还是新的数据文件。ORA-01103: 控制文件中的数据库名 ''ORCL1'' 不是 ''ORCL''。原创 2024-04-09 12:25:03 · 992 阅读 · 0 评论 -
DG库怎样释放bigfile类型临时数据文件的空间
生产DG从库的一个临时数据文件达到了5T,主库上有2T。这个临时数据文件是bigfile的。dba_tablespaces的bigfile值是'YES'bigfile类型的表空间只能有一个数据文件,无法通过新增一个数据文件,再删除大数据文件的方式释放空间。如果resize的话,这么大的文件可能会报错,这里计划在主库重建这个临时表空间来释放空间。原创 2024-03-29 18:37:20 · 538 阅读 · 0 评论 -
oracle中实现某个用户truncate 其它用户下的表
假如想赋予jiao这个用户清空scott.t1这个表的权限,则可以在scott下创建一个清空该表的存储过程,然后将执行该存储过程的权限授予jiao用户。二 假如想清空某个用户下的多个表或所有表。则可以通过将存储过程的表名写成传参形式。转载 2023-09-12 09:40:49 · 1922 阅读 · 0 评论 -
oracle 12c怎样修改varchar2允许的最大长度
12C单实例测试,varchar2在早期版本中最大长度限制为4000,当字段长度指定的比较长的时候会报错:ORA-00910: specified length too long for its datatype。早期版本中虽然SQL数据类型限制为4000(如表中的列的varchar2类型),但在PL/SQL中的限制是32767(如在存储过程中的定义变量时用的varchar2类型)。EXTENDED。原创 2023-08-25 11:12:20 · 2892 阅读 · 0 评论 -
ORA-00742: Log read detects lost write in thread 1 sequence 32 block 15358
原文链接:https://blog.csdn.net/qq_41141058/article/details/100732596。版权声明:本文为CSDN博主「佐云」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。这里是/u01/app/oracle/oradata/zydb/redo03.log。② 执行数据库起不来时报错提示的重做日志文件。转载 2023-08-25 10:46:28 · 897 阅读 · 0 评论 -
oracle怎样给某个普通用户授予杀自己用户会话的权限
exec sys.scott_p_kill_session(会话,序列号);想给某个普通用户授予杀掉自己会话的权限。原创 2023-08-09 11:27:46 · 1443 阅读 · 0 评论 -
ORA-12516:TNS:listener could not find avaliable handler with matching protocol stack,ORA-12520:TNS:监
收到监控告警短信:用pl/sql developer连数据库也连不上,提示报错:ORA-12520:TNS:监控程序无法为请求的服务器类型找到可用的处理程序。转载 2023-07-31 16:31:41 · 837 阅读 · 0 评论 -
如何部署与使用oratop工具
oratop是一个类似于unix OS实用程序的实用程序,它提供了数据库性能的概述,可以与top结合使用,以更全面地了解系统性能。【支持的平台】Linux x86AIX(PPC)HP-UX IA*仅限11gR2注意:任何平台上的oratop都可用于监视其他平台上的数据库。要监视其他平台上的数据库,只需在Oracle客户端的tnsnames.ora中定义一个别名,并像使用sqlplus一样远程连接到数据库。原创 2023-07-14 17:19:10 · 510 阅读 · 0 评论 -
PLSQL Developer怎样查看当前活动会话
点‘工具’-‘会话’:原创 2023-07-14 16:58:27 · 1427 阅读 · 0 评论 -
给PDB生成AWR 报告报错:ORA-20200 Instance does not exist in AWR_PDB_DATABASE_INSTANCE
一 问题描述在PDB里生成AWR报告报错:SQL> @?/rdbms/admin/awrrpt.sqlERROR at line 1:ORA-20200: Database/Instance 1552533615/1 does not exist in AWR_PDB_DATABASE_INSTANCEORA-06512: at line 27二 解决办法#连接CDB, 执行如下命令:ALTER SYSTEM SET awr_pdb_autoflush_enable转载 2023-07-14 14:49:05 · 973 阅读 · 0 评论 -
1 怎样用plsql developer导表数据
点击‘工具’-‘导出表’:选择要导出的用户和表,在’PL/SQL Developer’那里指定‘输出文件’,点击‘导出’按钮开始导出:导出完毕后,最下方会提示‘正在导出表… 完成’。原创 2023-07-11 15:52:47 · 9049 阅读 · 1 评论 -
使用数据泵+ogg同步oracle数据
在同步开始前目标端没有初始化数据(目标端为空数据),那么事物产生的UPDATE、DELETE DML操作发送到目标端,目标端GoldenGate Replicat进程会因为找不到数据而报错从而导致Replicat进程崩溃停止(ABENDED),所以这就需要我们在同步前初始化数据,初始化完后再同步,这样大大降低错误率。原本想用RMAN方式迁移,但是由于旧库是AIX系统,新库是linux系统,用RMAN迁移会有问题,于是考虑用数据泵+ogg的方式实现不停机迁移。返回值yes为打开,pk,ui都需要打开。原创 2023-06-21 17:02:50 · 2502 阅读 · 0 评论 -
怎样导dblink
我想将dblink从一个数据库迁移到另一个数据库,发现在源端直接用pl/sql developer查看DBLINK的创建sql,sql里里不包含用户的密码,所以在目标端创建失败。这里用这种方法导出。原创 2023-06-13 16:28:02 · 1409 阅读 · 0 评论 -
Oracle:impdp导入等待statement suspended, wait error to be cleared
impdp导入3G的表结构文件,导入了一上午,还没导完,感觉不应该这么慢。转载 2023-06-09 14:04:05 · 607 阅读 · 0 评论 -
ORA-39065 unexpected master process exception in KUPC$QUEUE_INT.PUT_STATUS
用expdp导入数据的时候报错:ORA-39097: Data Pump job encountered unexpected error -39079ORA-39065: unexpected master process exception in KUPC$QUEUE_INT.PUT_STATUSORA-39079: unable to enqueue message DG,KUPC$S_2_20090927001645,MCP, ,1,YORA-06512: at "SYS.DBMS_SYS_E转载 2023-06-08 15:07:38 · 420 阅读 · 0 评论 -
ORA-12899:value too large for column BASE_OBJECT_NAME(actual:31,maximum:30)
新搭建了一套oracle环境,要从源端导数据到该环境下,在impdp导入的时候报错:ORA-12899:value too large for column BASE_OBJECT_NAME(actual:31,maximum:30)源端和目标端的字符集不同。修改目标端字符集SQL> shutdown immediateSQL> startup mountSQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL> ALTER SYSTEM SET JOB_QUEUE_P转载 2023-06-07 17:24:08 · 3205 阅读 · 0 评论 -
ORA-15040 diskgroup is incomplete
安装rac的时候,在dbca建库的时候,安装进度到80%多的时候安装界面自动异常退出了,后来看节点1起来了,节点2没起来,于是手动将其启动,结果报错: 但是我查看是有这个参数文件的,并且DATA盘是存在的,状态也是mount的:发现节点1上/u01/app/oracle/product/11.2.0.4/db_1/bin下的oracle文件的属主是oracle:asmadmin,但是节点2上该文件的属主是oracle:oinstall.将节点2上的属主改为oracle:asmadmin即可。原创 2023-06-02 08:57:27 · 573 阅读 · 0 评论 -
You (oracle) are not allowed to access to (crontab) because of pam configuration
无法用oracle用户执行crontab -l查看定时任务,报错:但是以前都是可以的。转载 2023-04-13 16:18:24 · 1632 阅读 · 0 评论 -
oracle远程克隆pdb
使用远程克隆的先决条件是oracle版本是12.2以上开启归档模式以及本地undo.这里是想从将PRODPDB1克隆到下,命名为。1确保源端数据库开启归档模式备注:进cdb里开启归档。如果不是读写状态,需要执行如下命令:beginPRODPDB1');end;end;确保值为YES。如果为NO,则需要查看详细内容如果为YES,该视图也可能会包含一些内容。原创 2023-04-11 20:02:58 · 789 阅读 · 0 评论 -
Pl/Sql Developer可以不用配置tnsnames.ora就能连oracle
在数据库里指定ip:端口/实例名原创 2023-02-21 15:50:59 · 942 阅读 · 0 评论 -
oracle单实例怎样修改端口
alter system set local_listener='(address=(protocol=tcp)(host=172.16.12.172)(port=1522))';原创 2023-02-21 13:58:04 · 384 阅读 · 0 评论 -
查看oracle当前性能sql
查看oracle当前性能sql原创 2023-02-13 13:43:17 · 532 阅读 · 0 评论 -
oracle direct path read等待事件处理案例
生成ASH报告, 查看该等待事件对应的慢sql。原创 2023-01-31 09:19:31 · 639 阅读 · 0 评论 -
RMAN-06025 no backup of archive log …… found to restore,发现去找以前的归档日志去了
详细看下日志原创 2023-01-12 15:58:46 · 1355 阅读 · 0 评论 -
RMAN-06555: datafile 1 must be restored from backup created before ***
recover指令只能再基于数据文件时间点往后恢复转载 2023-01-12 15:04:02 · 1197 阅读 · 0 评论 -
skipping datafile 127:already restored to file.. restore not done;
加上force,强制恢复:restore database force;没再报错了原创 2023-01-10 18:30:14 · 444 阅读 · 0 评论 -
RMAN异地恢复-适用于数据库量比较大的场景
如果数据库比较大,可以提前几天将全备文件拷贝过来,在目标端restore database,然后每天增量拷贝归档日志的备份,直到真正迁移的时候,只拷贝最近的归档日志的备份,最后在目标端recover database,可大大缩短业务停止时间。原创 2023-01-08 17:27:06 · 1481 阅读 · 0 评论 -
ORACLE RAC如何把spfile参数文件放共享存储上
先建一个pfile文件,然后用pfile启动,然后根据pfile生成在共享存储上的spfile,这样在共享存储上就能看到这个spfile文件了。然后在pfile文件里指定一行spfile的路径,重启数据库原创 2023-01-05 15:21:37 · 390 阅读 · 0 评论 -
ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory
ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory原创 2023-01-05 13:12:10 · 5679 阅读 · 0 评论 -
Following executables are active : /lib/libclntsh.so.11.1
看下当前哪个进程占用了libclntsh.so.11.1文件,将其kill掉转载 2023-01-03 19:47:14 · 142 阅读 · 0 评论 -
CRS-2101 The OLR was formatted using version 3
因为RHEL 7使用systemd而不是initd运行进程和重启进程,而root.sh通过传统的initd运行ohasd进程。转载 2023-01-03 13:51:40 · 1350 阅读 · 0 评论
分享