oracle 等待事件enq: TM – contention 处理
先说结论:enq: TM - contention 这个等待事件出现一般都有下面几种情况:1 子表没有索引,这个最常见。2 并行 DML3 如果发生在 RAC 集群里,gc问题也可能造成相关等待事件4 利用lock table 主动获取TM锁## 第一部分:子表没有索引 测试创建测试表:CREATE TABLE T2001 ( sup
oracle 生僻字怎么处理
## 场景1: ZHS16GBK UTF81.查看数据库的字符集相关设置:SQL> select * from v$nls_parameters;NLS_LANGUAGE AMERICAN 0NLS_TERRITORY AMERICA 0NLS_CURRENCY
19c sysaux表空间爆满
## 第一步:检查表空间情况巡检发现 sysaux 表空间不足TABLESPACE_NAME TP_REAL_SIZE TP_REAL_FREE_SI TP_FREE_RATING############################## ############### ############### ######
oracle job问题处理
oracle job问题处理
在使用绑定变量的情况下使用result cache
在使用绑定变量的情况下使用result cache
oracle 多线程简介
oracle 多线程简介
result cache
关于oracle result cache的一些介绍
ORA-04023
客户数据库碰到如下报错:ORA-04023: Object could not be validated or authorizedORA-04023 无法验证或授权对象*** --》 这个是客户的视图名相关信息:SQL> select count(*) from ***;select count(*) from ***  
ora-600 2252
情况说明:今天客户报告,数据库无法启动,登陆客户环境检查后发现:数据库启动在mount状态,alter database open;失败,相关报错日志信息如下:Fri Jan 05 02:08:43 2001alter database openErrors in file d:\app\administrator\diag\rdbms\ycyl\ycyl\trace\ycyl_ora_3640.
获取某张表上的增删改信息的两种办法
获取某张表上的增删改信息的两种办法方式1: 我们可以通过触发器的方式获取相关信息create table tab_monitor as (select sid,username,program,machine,'000.000.000.000' ipadd,sysdate moditime from v$session where 0=1);该表分别记录了,删除的用户、
bbed 分析索引
分析下索引情况:模拟数据create table t ( a varchar2(200),b varchar2(3000)); insert into t values (lpad('1',127,'1'),lpad('a',127,'a')); 1 ainsert into t values (lpad(
bbed 查看数据行
数据 行 存放环境说明:数据库版本:Version 19.3.0.0.0 未升级补丁用户为普通用户,表空间为users;步骤:我们分析前9行数据。select rowid,OWNER from test where rownum<10;ROWID OWNER------------------ -----------------------------
SNAPSHOT STANDBY
ADG快照切换实施方案 1开启快照实施步骤1.1 准备工作1.1.1闪回数据库是否开启su - oraclesqlplus / as sysdbaset linesize 20select flashback_on from v$database;1.1.2未开启闪回,执行该步骤,开启闪回su - oraclesqlplus / as sysdba--设置闪回区大小和路径alter sy
ADG TNS-03505 处理
TNS-03505 NAMES.DEFAULT_DOMAIN 前言: 项目需要进行adg搭建,搭建后发现主库日志不往备库发送,检查相关dest 路径,发现数据库解析不了别名,报错信息如下: TNS-03505: Failed To Resolve Name环境介绍:[oracle@*** admin]$ cat /e
23c 会话只读测试
23c 会话只读测试环境准备:[oracle@db23 ~]$ /opt/oracle/product/23c/dbhomeFree/bin/sqlplus / as sysdbaSQL*Plus: Release 23.0.0.0.0 - Developer-Release on Thu Nov 28 20:58:06 2024Version 23.2.0.0.0Copy
间隔分区添加分区
间隔分区添加分区准备测试环境:CREATE TABLE sales ( sale_id NUMBER GENERATED BY DEFAULT AS IDENTITY, product_id NUMBER, amount NUMBER, sale_date DATE)PARTITION BY R
间隔分区添加分区
间隔分区添加分区准备测试环境:CREATE TABLE sales ( sale_id NUMBER GENERATED BY DEFAULT AS IDENTITY, product_id NUMBER, amount NUMBER, sale_date DATE)PARTITION BY R
查询数据库中的敏感数据
客户有个需求,查询数据库中所有包含内部、内部资料、秘密、机密、保密、密、等等。。等字段的表和字段。创建如下存储过程,查询当前用户(查open状态的生产用户即可sys和system之类的系统用户没有必要,查询语句select username,account_status from dba_users where account_status='OPEN';)下有哪些表,
新控制文件恢复旧的备份(表空间被删除新控制文件里面没有)
备份数据文件, --删除表空间 , 备份控制文件, 恢复控制文件,恢复数据库 前期环境和准备:[oracle@localhost backup]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Sun Nov 24 16:30:59 2024Version 19.22.0.0.0Co
查看block dump对应的实际值
第一步:登录数据库创建测试表SQL> conn zc/zcConnected.SQL> SQL> SQL> create table test(id number,name varchar2(20),ctime date);Table created.SQL> insert into test values(5674,'zhan