首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle的SQL多版本控制 - VERSION_COUNT

    在上一期的“恩墨讲堂”微信课中,我提到了一个控制SQL多版本的参数,有很多朋友讨论,这个参数是:_CURSOR_OBSOLETE_THRESHOLD 。 为什么会有这个参数呢?...请看下面这个示意图,这是一个真实的生产环境,第一个SQL显示,其Version Count已经达到了26万个,这不仅仅占用了内存,而且会使得SQL解析延迟: ?...对于版本过多的SQL,一次软解析甚至不如重新执行一次硬解析来的高效,所以Oracle引入了一系列的控制手段来处理这些特殊的游标。...在11.2.0.3之后,这些解决方案最终形成了一个隐含参数,也就是 _CURSOR_OBSOLETE_THRESHOLD,其作用是当SQL版本超过这个参数设定后,直接舍弃这个游标,重新解析,重头开始。...Oracle的很多细节控制都是体贴入微的,且用且珍惜吧。 关于SQL的多版本,MOS文章 296377.1 非常值得仔细看看。 点击原文链接报名,加入“恩墨讲堂”微信群。

    1K60

    【赵渝强老师】Oracle的控制文件与归档日志文件

    一、控制文件(Control File)在Oracle数据库中,一个数据库至少要有一个控制文件,控制文件中存放了Oracle数据库的物理结构信息。这些物理结构信息就包括:数据库的名字。...数据文件和联机日志文件的名字及位置。创建数据库时的时间戳。RMAN备份的元信息。视频讲解如下:Oracle数据库在启动过程中,会根据控制文件中记录的数据文件和联机重做日志文件的位置信息来打开数据库。...由于控制文件非常重要,为了更好的保护数据库,通常在执行数据库备份时是需要备份控制文件的。可以通过下面的语句查看当前存在的控制文件。...可以看到在默认情况下,Oracle数据库有两个控制文件,这两个控制文件的内容是一样的。...这样的方式称之为控制文件的多路复用。即使其中的一个控制文件出现了问题,Oracle数据库也可以使用另一个控制文件。这样也不会因为数据库的损坏从而造成数据的丢失。

    14210

    Oracle 基于备份控制文件的恢复(unsing backup controlfile)

    通常在当前控制文件丢失,或者当前的控制文件与需要恢复的控制文件不一致的情况下,我们需要重新创建一个控制文件或者使用 unsing backup controlfile方式来恢复控制文件。...说简单点,只要是备份的控制文件与当前的控制文件不一致进行恢复数据库,就需要使用到 unsing backup controlfile方式,而一旦使用了该方式,则需使用resetlgos选项来打开数据库。...有关控制文件的介绍请参考: Oracle 控制文件(CONTROLFILE) using backup controlfile 请参考:理解 using backup controlfile 一、基于备份控制文件的恢复注意事项...本文主要使用热备方式来完成演示 二、演示unsing backup controlfile的使用 1、控制文件全部丢失的情形(控制文件备份后发生变化) -->首先使用热备脚本进行备份 sys@SYBO2SZ...-->同时也看到了控制文件进行了自动备份,因为RMAN配置中控制文件自动备份被置为ON -->此处使用之前备份的控制文件来恢复测试,因此此处不考虑使用自动备份的控制文件 sys@SYBO2SZ> ho

    77720

    【DB笔试面试220】在Oracle中,如何备份控制文件?备份控制文件的方式有哪几种?

    Q 题目如下所示: 在Oracle中,如何备份控制文件?备份控制文件的方式有哪几种? A 答案如下所示: 答案:备份控制文件的方式有多种。...① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/tmp/control.ctl';--热备份控制文件 SQL> ALTER DATABASE...BACKUP CONTROLFILE TO TRACE AS '/home/bk/a.ctl';--得到建立控制文件的脚本,备份为文本文件格式 SQL> ALTER DATABASE BACKUP...需要注意的是,从Oracle 11g开始,rman对控制文件自动备份做了延迟处理。在Oracle 10g中,引入了控制文件的自动备份特性。...但是,从Oracle 11gR2开始,引入了控制文件自动备份延迟创建的特性。

    77320

    Oracle 外部表

    3.使用SQLLDR提供外部表的定义并创建外部表 关于SQL*Loader的使用请参照:SQL*Loader使用方法 我们使用SQL*Loader和下面的这个控制文件来生成外部表的定义 [oracle...--说明外部文件访问方式:oracle_loader或oracle_datapump(9i不支持) DEFAULT DIRECTORY SYS_SQLLDR_XT_TMPDIR_00000 --指定外部文件的缺省目录...SGA分配 SKIP 6 --跳过的记录数,因为我们使用了控制文件,所以前面的控制信息需要跳过 FIELDS TERMINATED BY "," LDRTRIM --描述字段的终止符 REJECT...log中,如忽略该子句,系统自动在源目录下生成与外部表同名的.LOG文件 注意以下几个常见的问题 1.外部表经常遇到BUFFER不足的情况,因此尽可能的增大READ SIZE 2.换行符不对产生的问题...,是否存在于外部表定义相冲突 四、更多参考 Oracle 分区表 SQL*Loader使用方法 数据泵 IMPDP 导入工具的使用 数据泵 EXPDP 导出工具的使用

    1.3K20

    SQL*Loader使用方法

    --===================== -- SQL*Loader使用方法 --===================== 一、SQL*Loader的体系结构 SQL*Loader由一个输入控制文件来控制整个装载的相关描述信息...二、控制文件的作用及组成 控制文件是一个文本文件,控制文件中记录的信息告诉SQL*Loader在哪里寻找数据、如何翻译数据,以及将数据插入到哪里等 控制文件的组成分为三个部分 第一部分主要是关于通外部会话的相关信息...被保留 三、数据文件 数据文件可以有多个,这些数据文件需要在控制文件中指定 从SQL*Loader角度来看,数据文件中的数据被当做一条条记录 一个数据文件描述数据文件记录有三种可选的格式 固定记录格式...通常情况下,数据文件中的一条物理记录即是一条逻辑记录,即数据文件的一条记录对应于数据库的一条记录SQL*Loader扩展了该功能可以将多条物理记录形成一条逻辑记录,而由这个组合再来生成一条数据库中的记录...*Loader 1.SQL*Loader可执行程序(sqlldr)所在的位置 [oracle@oradb ~]$ ls -lh $ORACLE_HOME/bin/sql* -rwxr-x--x

    1.3K20

    Oracle SQL*Loader 使用简介

    SQL*Loader 控制文件 SQL*Loader 要将数据加载到 Oracle 数据库中,SQL*Loader 控制文件是必不可少的,它是用 SQL*Loader 理解的语言编写的文本文件。...控制文件告诉 SQL*Loader 在何处查找数据、如何分析和解释数据、在何处插入数据等。...可选 控制文件的第三部分被解释为数据而不是控件文件语法;因此,不支持本节中的注释。-- 关键字对SQL*Loader 具有特殊含义,因此是保留的。...CONSTANTZONECONSTANTZONE SQL*Loader 程序从控制文件中指定的一个或多个数据文件(或文件的操作系统等效项)读取数据。...从 SQL*Loader 的角度来看,数据文件中的数据被组织为记录。特定数据文件可以是固定记录格式、可变记录格式或流记录格式。可以使用参数在控制文件中指定记录格式。

    67430

    【DB笔试面试446】如何将文本文件或Excel中的数据导入数据库?

    SQL*Loader是一个Oracle工具,能够将数据从外部数据文件装载到数据库中。...SQL*Loader必须包含一个控制文件,该控制文件是SQL*Loader的中枢核心,控制文件能够控制外部数据文件中的数据如何映射到Oracle的表和列。通常与SPOOL导出文本数据方法配合使用。...SQL*Loader的优点: 1、可将导入命令写入BAT文件直接批量处理 2、导入处理比较专业,提供各种参数选择 3、无需操作Oracle所在服务器 SQL*Loader也有缺点,例如,Excel文件需要另存为...SQL*Loader有两种使用方法: 1、只使用一个控制文件,在这个控制文件中包含数据 2、使用一个控制文件和一个数据文件 SQL*Loader工具使用的命令为sqlldr,其常用参数的含义如下表所示:...如果控制文件通过infile参数指定了数据文件,并且指定多个,那么在执行sqlldr命令时,先加载data参数指定的数据文件,控制文件中第一个infile指定的数据文件被忽略,但后续的infile指定的数据文件继续有效

    4.6K20

    excel文件内容导入数据库的问题及解决(20天)

    没有装现成的plsqldev,只能用sql*loader来弄了。 首先我把excel文件的内容转换成csv文件,以逗号分隔,在另存外excel文件的时候有那个选项。 然后我在目标库中创建了如下的表。...140316_124606,gv6gaza6da96k,69980362,2834,1,74.82 140320_205539,gwpudzhp5zazc,2907558,629750,1,71.79 创建控制文件如下...,sql_id,cpu_time,disk_time,exec_time,elapsed_s) 然后调用sql*loader来导入了。...Commit point reached - logical record count 64 对于上面的信息,查了下,可以在控制文件中加入这个选项来可控制commit的频度。最大目前是165....最后百思不得其解,看看文件的内容吧,vi 一看,原来是dos格式的问题 140314_124138,007yxsxdz7p0h,13721913,165027,1,30.93^M 140314_164158,007yxsxdz7p0h

    94660

    【DB笔试面试352】什么是不可用索引(Unusable Indexes),哪些操作会导致索引变为不可用即失效状态?

    相关参数为SKIP_UNUSABLE_INDEXES,其作用如下所示: 参数作用控制对UNUSABLE 的非唯一索引,DML操作时是否维护索引数据。...参数值true | false 当参数设置为true时(默认),当数据库遇到不可用索引时,只会忽略而不会提示任何错误信息;同时即使该表上带有不可用的索引或索引分区,也可以针对该表执行DML操作,针对不可用索引对应的...MOVE操作的SQL语句为:ALTER TABLE TT MOVE;。 ③ SQL*Loader加载数据。...在SQL*Loader加载过程中会维护索引,由于数据量比较大,在SQL*Loader加载过程中出现异常情况,也会导致Oracle来不及维护索引,导致索引处于失效状态,影响查询和加载。...异常情况主要有:在加载过程中杀掉SQL*Loader进程、重启或表空间不足等。

    1.4K20

    批量生成sqlldr文件,高速卸载数据

    SQL*Loader 是用于将外部数据进行批量高速加载的数据库的最高效工具,可用于将多种平面格式文件加载到Oracle数据库。...SQL*Loader支持传统路径模式以及直接路径这两种加载模式。关于SQL*Loader的具体用法可以参考Oracle Utilities 手册或者SQL*Loader使用方法。...那么如何以SQL*Loader能识别的方式高效的卸载数据呢? Tom大师为我们提供了一个近乎完美的解决方案,是基于exp/imp,Datapump方式迁移数据的有力补充。...有关本文涉及到的参考链接: SQL*Loader使用方法 数据泵 EXPDP 导出工具的使用 数据泵IMPDP 导入工具的使用 PL/SQL-->UTL_FILE包的使用介绍 1、单表卸载数据...b、包调用者应该对unloader其具有execute权限以及表上的select权限 c、包主要是通过utl_file来写出到控制文件和数据文件,有关utl_file用法可参考:PL/SQL-->UTL_FILE

    90620

    Oracle数据加载和卸载

    在日常工作中;经常会遇到这样的需求: Oracle 数据表跟文本或者文件格式进行交互;即将指定文件内容导入对应的 Oracle 数据表中;或者从 Oracle 数据表导出。...其他数据库中的表跟Oracle数据库进行交互。   若是少量数据;可选择的解决方案有很多。常用的用 Pl/SQL developer工具,或者手动转换为 INSERT 语句,或者通过API。...2019-12/161819.htm 二.Oracle加载数据-外部表   ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件。...varchar2(10),accountid number); Table created. 3.2 创建控制文件lottu.ctl load data characterset utf8.../home/oracle/lottu.bad SQL*Loader: Release 11.2.0.4.0 - Production on Mon Aug 13 23:10:12 2018 Copyright

    73210

    SQL*Loader设置参数之ROWS、BINDSIZE和READSIZE

    概述 本文将介绍SQL*Loader用户配置文件的参数中,传统常规路径(Conventional Path)情况下和性能有关的参数:ROWS、BINDSIZE和READSIZE。...首先,在传统常规路径(Conventional Path)过程中,SQL*Loader是利用SQL INSERT文和绑定数组缓冲区(bind array buffer)进行数据加载的。...绑定数组缓冲区(bind array buffer)是SQL*Loader用于缓存加载数据的内存区域。SQL*Loader进行数据加载时,首先会同时读入多行并拷贝到bind array。...绑定数组(bind array )的大小主要由参数BINDSIZE和 READSIZE进行控制。...相反,ROWS也会同样会反过来制约BINDSIZE,即SQL*Loader会在满足 ROWS和BINDSIZE的任意一个条件时,进行数据的提交。

    1.3K10

    OracleDBA精选面试题

    文章目录 OracleDBA面试题 1.OracleDBA面试题之一解释冷备份和热备份的不同点以及各自的优点 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 3....IMPORT和SQL*LOADER 这2个工具的不同点 50。用于网络连接的2个文件?...你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3....IMPORT和SQL*LOADER 这2个工具的不同点 解答:这两个ORACLE工具都是用来将数据导入数据库的。   ...区别是:IMPORT工具只能处理由另一个ORACLE工具EXPORT生成   的数据。而SQL*LOADER可以导入不同的ASCII格式的数据源 50。用于网络连接的2个文件?

    1.9K50
    领券