解决方案SQL> create sequence seq; Sequence created. SQL> create or replace 2 procedure exchange_par( 3 p_table1 varchar2, 4 p_table2 varchar2, 5 p_t
结论PG的是事务和ORACLE的事务是不一样的在ORACLE事务中,有失败是可以继续执行的,且事务提交后,只有失败的不可见(成功的可见)在PG事务中,有失败,立即中止,且前面成功的,也会回滚报错:current transaction is aborted, commands ignored until end of transaction block原因oracle具有子事务功能,orale的子
High Waits On ‘block change tracking buffer space’ - Checkpoint Contention With BLOCK CHANGE TRACKING or RMAN Incremental Backup (Doc ID 2094946.1)ORACLE 10G BLOCK CHANGE TRACKING INSIDE OUT (Doc ID 1
select * from scott.emp这条sql的执行计划是全表扫描,现在我们希望它使用主键索引,测试记录如下:1.查看sql的sql_id select sql_text, sql_id,plan_hash_value from v$sql a where sql_text like '%scott.emp%' order by sql_text; SQL_TEXT
注意事项一般情况下备份ORACLE_HOME不需要停库和监听,但官方建议如果能停尽量,且一般打补丁都是需要停库,所以建议还是在停库和监听后再备份ORACLE_HOME.备份应当由root或者oracle用户执行,强烈建议用root,否则可能会遇到未知报错.tar备份时切记使用-p参数保留文件属性.还原备份时必须关库和监听.实施步骤1.切换到root [oracle@ora11 ~]# su - r
将db_name从ora11改为ora11b1.记录当前数据库名称 show parameter name; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cell_offl
解决方案move tablespace概要说明:move tablespace 操作可以收缩段、消除部分行迁移、消除空间碎片、使数据更紧密。move tablespace 操作会降低高水位线,但不会释放申请的空间。可以使用move将一个表从当前的tablespace中移动到另一个tablespace中,或者仅在当前的tablespace中移动。move操作时,会在表上添加exclusive loc
查询要迁移的表空间的大的表SET LINESIZE 720; SET PAGESIZE 300; COL OWNER FOR A16; COL SEGMENT_TYPE FOR A20; COL SEGMENT_NAME FOR A38; COL TABLESPACE_NAME FOR A20; SELECT * FROM (SELECT OWNER,
问题概述当数据库中出现锁,或者程序无响应等,需要kill 掉数据库中的进程(锁),可以通过本文档的SQL 查询相关信息并进行 kill 。问题原因查询某个会话的锁SET linesize 180 col username FOR a15 col owner FOR a15 col OBJECT_NAME FOR a30 col SPID FOR a10 SELECT SESSION_ID,
在pdb refresh迁移过程中,由于Oracle 19c高低版本间,架建时部署组件的差异,有可能会导致某些组件失效;此时,需要根据实际场景,进行组件清理,比如:XDB修复,ORDIM删除,JAVAVM删除,SDO删除等。 在具体执行以下步骤时,请将pdb1替换成实际的pdb名称。1、XDB修复sys.validate_context、XDB.dbms_xdbt,是清理context组件残留的
故障案例1:JVM INVALID此故障经常出现在Oracle打补丁升级后,JAVA VM组件失效,状态变为INVALID以下SQL查询组件状态:select comp_name, version, status from dba_registry;JVM是一个独立的执行环境平台,其可以直接将JAVA源码编译成机器码,然后在特定的处理器架构或者系统下执行。修复方法: 1.set the fol
数据库巡检时发现,Oracle组件存在失效的状态。SQL> select comp_id,comp_name,version,status from dba_registry; COMP_ID COMP_NAME VERSION STATUS --------
测试验证运行前提条件及注意点Have in cache or AWR the text for the original SQL.Have in cache the plan for the modified SQL(usually with hints).This script works on 11g or higher.For a similar script for 10g use coe
oracle asm 12c and later 问题概述在grid用户修改sys密码后,再使用密码远程登录报错,提示用户名或者密码不对。示例:sqlplus / as sysasm alter user sys identified by syspass;--远程登录,提示用户名或者密码错误sqlplus sys/syspass@ip:1521/+ASM as
客户背景inet 10.132.125.137 netmask 255.255.255.192 -- 心跳网络IP (主机私有网络IP) # oifcfg getif ens192 10.132.122.0 global public ens224 10.132.125.128 global cluster_interconnect oifcfg setif -globa
在Oracle 10g中的等待事件有872个,11g中等待事件1116个。我们可以通过v$event_name 视图来查看等待事件的相关信息.一.等待事件的相关知识1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件。1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件。2). 非空闲等待事件专门针对ORAC
NO_PUSH_PRED提示的作用和使用方法NO_PUSH_PRED 提示是指导优化器不要将连接谓词推入到视图或出现在from子句中的子查询中。PUSH_PRED 提示的使用语法如下图所示:其各部分的含义如下:tablespec表示目标表的名称或别名(当有别名时,必须用别名)。但不要加入表的属主(SCHEMA)名,哪怕在SQL中,明确写了属主,提示中也不能写。queryblock表示查询块。优化器
数据泵导出数据时碰到ORA-39213: Metadata processing is not available报错[oracle@localhost dump]$ tail -100f nohup.out Export: Release 11.2.0.4.0 - Production on Thu Feb 29 00:12:28 2024 Copyright (c) 1982, 2011,
问题概述ORACLE ADG 报 ORA-04021: timeout occurred while waiting to lock object LGWR (ospid: 31312): terminating the instance due to error 4021 之后数据库 crash 掉。问题原因xxx_lgwr_14289..trc 信息如下*** 2
适用范围对大表进行备份但单个目录没有足够的空间来保留转储使用方法创建两个目录SQL> create directory DIR1 as '/home/oracle/DIR1'; Directory created. SQL> create directory DIR2 as '/home/oracle/DIR2'; Directory created. SQL> gran
适用范围数据库的默认参数对于大型系统来说,还远远不够。需要调整和设置如下的参数,保证系统稳定性、性能、可靠性等。此文档主要基于云和恩墨客户众多客户案例和产品环境,总结提炼的Oracle 19c初始化参数设置。参数详情参数名称参数值参数含义额外说明_optimizer_adaptive_cursor_sharingfalse控制自适应游标共享功能是否开启关闭adaptive cursor shari
Data Guard与RAC不同的是。在普通情况下。Standby仅仅有一个节点处于活动状态,全部的应用都连接到主server。仅仅有当server发生问题时,才考虑切换到备用server。在Oracle 11g曾经版本号中的的Data Guard物理备用数据库。能够以仅仅读的方式打开数据库。但此时MediaRecovery利用日志进行数据同步的过程就停止了,假设物理备用数据库处于恢复的过程中数据
Oracle rman备份报错,提示数据文件有坏块,自己查看alert并无报错,说明还没有影响到业务。。根据报错检查确认[oracle@xx02 ~]$ dbv file='+DATAC1/xxxxdb/datafile/xx_tbs.3223.1044115207' blocksize=8192 userid=sys/xxxxxxx DBVERIFY: Release 11.2.0.4.0
INDEX_SS提示的作用和使用方法INDEX_SS提示是指导优化器,通过索引跳跃扫描的方式来访问指定的索引。所谓跳跃扫描,是指跳过索引前导列来对索引进行访问。所以,发生跳跃扫描的索引,一定是2列及以上列构成的组合索引。INDEX_SS提示的使用语法如下图所示:INDEX_SS_ASC和INDEX_SS_DESC是指在索引跳跃扫描的前提下,以正序(ASC)或倒序(DESC)的方式来访问。在未指定是
INDEX_COMBINE提示的作用和使用方法INDEX_COMBINE提示是指导优化器,通过联合访问一个表上的多个索引来实现数据的检索。而“联合访问”的实现,是通过在目标索引上施加对应的过滤条件,将过滤后的结果行的ROWID转换为位图,然后做按位AND(对应于相关条件之间是AND的关系),或者按位OR(对应于相关条件之间是OR的关系),最后,再将该按位AND或者OR的结果转换为ROWID,最后基
ORDERED提示的作用和使用方法ORDERED提示是指导优化器,按照FROM子句中表出现的次序来访问。ORDERED提示的使用语法如下图所示:下面,我们通过实验来说明施加该提示时,优化器是如何选择表的访问次序的。测试验证首先,我们创建两个测试表TAB1、TAB2:并在其上收集统计信息,如下图所示:然后我们在其这两个表上执行如下的查询:select count(*) from tab1,tab2
LEADING提示的作用和使用方法LEADING提示是指导优化器,尽量先访问指定的表或表的集合。该提示相较于ORDERED提示更灵活。LEADING提示的使用语法如下图所示:其中:tablespec表示目标表的名称或别名(当有别名时,必须用别名)。但不要加入表的属主(SCHEMA)名,哪怕在SQL中,明确写了属主,提示中也不能写。queryblock表示查询块。优化器在为一条SQL制定执行计划时,
作用和使用方法PUSH_SUBQ:尽可能早的执行不能做子查询展开的子查询,不能子查询展开时,通常最后执行,当子查询能早些过滤条件时,应该让其先执行。NO_PUSH_SUBQ:不能展开时最后执行。使用语法:写在子查询中:SELECT /*+ PUSH_SUBQ */ 写在外层: select /*+ PUSH_SUBQ(@子查询代码块名称) */ from ... where (子查询)
MERGE提示的作用和使用方法MERGE提示是指导优化器,合并查询中的视图。出现在from子句中的子查询,也被视为视图。MERGE提示的使用语法如下图所示:其中:tablespec表示目标表的名称或别名(当有别名时,必须用别名)。但不要加入表的属主(SCHEMA)名,哪怕在SQL中,明确写了属主,提示中也不能写。queryblock表示查询块。优化器在为一条SQL制定执行计划时,会将该SQL中涉及
USE_CONCAT提示的作用和使用方法USE_CONCAT提示是指导优化器,在处理where子句中的OR条件时,将每一个OR条件都拆成只包含OR条件中的其中一个的子句,然后将这些子句用UNION ALL联接起来,并去除那些在其它子句中已经出现的记录。USE_CONCAT提示的使用语法如下图所示:其中:tablespec表示目标表的名称或别名(当有别名时,必须用别名)。但不要加入表的属主(SCHE
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号