
Oracle
文章平均质量分 55
zong100
这个作者很懒,什么都没留下…
展开
-
dbms_random
<br />Begin<br />For i in 1..1000000<br />Loop<br />Insert into test_normal <br />values(i, dbms_random.string('U',30), dbms_random.value(1000,7000));<br />If mod(i, 10000) = 0 then<br />Commit;<br />End if;<br />End loop;<br />End;<br />/原创 2010-06-29 22:25:00 · 275 阅读 · 0 评论 -
imp/exp impdp/expdp性能详细对比
EXP常规模式、EXP直接路径模式和EXPDP三种方式导出的性能对比<br />1.首先是EXP的常规路径导出:<br />exp zhejiang/zhejiang file=/data1/zj_regular.dmp buffer=20480000<br />常规EXP导出方式执行了1小时24分钟。<br />2.直接路径导出方式:<br />exp zhejiang/zhejiang file=/data1/zj_direct.dmp buffer=20480000<br />recordlength转载 2010-11-10 09:42:00 · 617 阅读 · 0 评论 -
数据库坏块的处理
当Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息: ORA-01578: ORACLE data block corrupted (file # 7, block # ) ORA-01110: data file : '/oracle1/oradata/V920/oradata/V816/users01.dbf'其中,<AFN>代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块出现这种情况时,应该首先检查是否是硬件转载 2010-11-10 21:31:00 · 790 阅读 · 0 评论 -
logminer实战记录
<br />时间: 2005-4-15 4PM <br />地点: 项目开发中心 <br /><br />1601: 程序员A惊呼: 我写的procedure变成旧版本了! <br />1602: 程序员B: 我的也是 <br />1603: 数据库维护员C (红着脸跑来): <br /> 刚才我把一期的数据库建立文本跑了一遍,想装在本机的,结果没想到直接在开发服务器上运行了.... <br />1610: 开发经理: 经过检查,程序员的转载 2010-11-12 21:55:00 · 433 阅读 · 0 评论 -
Oracle计算时间差表达式
<br />Oracle计算时间差表达式 <br /><br />--获取两时间的相差豪秒数<br />select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) *24*60*60*1000) 相差豪秒数 FROM DUAL;<br />/*<br />相差豪秒数<br />----------<br />转载 2010-11-12 21:40:00 · 404 阅读 · 0 评论 -
行列转换通用过程
<br />1.使用视图<br />createorreplaceprocedure row_to_col(tabname invarchar2,<br /> group_col invarchar2,invarchar2,<br /> value_col inv转载 2010-11-12 22:46:00 · 415 阅读 · 0 评论 -
oracle及操作系统对于文件大小的限制
<br />[ORACLE]:单个表空间的数据限制<br />当将表空间加到4GB的时候,系统提示表空间不足。 <br />原因: <br />FAT12 单文件最大支持8M <br />Fat16单文件最大支持2G <br />Fat32单文件不能大于4G <br />NTFS单文件最大64GB <br />NTFS5.0单文件最大2TB <br />解决方案: <br />增加多个数据文件,对应同一个表空间。 <br />因为:size of a tablespace = size of each da转载 2010-11-11 09:00:00 · 6607 阅读 · 0 评论 -
oracle EM 管理以及诊断 总结
如果不想使用https,可以emctl unsecure dbconsole取消,反之emctl secure dbconsole可配置em通过ssl访问。转载 2011-01-08 08:04:00 · 4770 阅读 · 0 评论 -
Oracle10g EM乱码之快速解决
Oracle10g EM乱码之快速解决一直没怎么用10g的EM工具,今天打开来看看,发现也有相传已久的乱码问题.网上也流传着N种解决方案,仔细看一下,其实这个问题很好解决.如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择.在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件:[oracle@danaly ~]$ cd $ORACLE_HO转载 2010-11-17 14:09:00 · 383 阅读 · 0 评论 -
监控Oracle索引的使用情况
<br />从Oracle 9i开始,可以监控Oracle索引的使用情况,具体方法如下:<br />alter index <schema>.<index> MONITORING USAGE; <br />对某个INDEX开启监控后,就可以观察该INDEX是否被使用:<br />如果要取消对索引使用情况的监控,使用下列SQL:<br />alter index <schema>.<index> NOMONITORING USAGE; <br />要注意的是:索引使用情况监控,会增加部分系统开销。原创 2011-01-19 08:41:00 · 1224 阅读 · 0 评论 -
oracle&linux环境vm相关的调整
<br />oracle&linux环境vm相关的调整<br /><br />由于linux内存管理倾向先将内存分配到cache里,经常导致系统内存free值很低,这个时候如果系统发生频繁的内存申请,例如数据库login或者需要申请比较多的内存时,可能会导致系统严重swap,影响系统的稳定性。对于不使用文件系统cache来操作数据库文件的环境,文件系统cache其实并不起太大作用,linux下没有像aix下直接控制文件系统内存使用比例的参数,只能通过配置基于内容大小和内存驻留时间的两种刷新两种策略来管理脏数转载 2011-04-18 16:25:00 · 876 阅读 · 0 评论 -
trunc()函数的存在,语句将不会使用到索引
<br />trunc()函数的存在,语句将不会使用到索引<br />SELECT SYSDATE,TRUNC(SYSDATE),trunc(sysdate-1),trunc(sysdate)-1/(24*60*60) FROM dual;<br /> SYSDATETRUNC(SYSDATE)TRUNC(SYSDATE-1)TRUNC(SYSDATE)-1/(24*60*60)2011/4/26 10:29:022011/4/262011/4/252011/4/25 23:59:59<br /> <b原创 2011-04-26 10:24:00 · 4282 阅读 · 0 评论 -
向sqlplus传递参数
<br />向sqlplus传递参数的语法为:<br /><br />sqlplus username/password @cmdfile.sql var1 var2 var3<br /><br />参数var1,var2依次将被传递到SQL*Plus变量的&1,&2,例:<br /><br />sqlplus scott/tiger @x.sql 'sysdate' dual<br /><br />脚本文件x.sql的内容如下:<br /><br />select &1 from &2;原创 2011-04-29 11:51:00 · 793 阅读 · 0 评论 -
PL/SQL_异常
一、异常概念:指的是程序在运行过程中出现的错误,当异常发生时,可执行部分的代码会终止运行,转到响应的异常处理机部分去继续执行。二、异常的触发方式? 自动触发:当满足一定的条件时,自动发生的异常。 手动触发:需要程序员在块中写raise语句来发生异常。原创 2011-08-25 15:12:11 · 500 阅读 · 0 评论 -
oracle迁移数据文件方法
目的:把oracle表空间的数据文件迁移到别的目录步骤:1、停止oracle实例SQL> shutdown immediate2、通过系统命令把数据文件迁移到新的位置。3、启动实例并不打开数据库。SQL> startup mount;4、SQL> alter database rename file 'C:\ORACLE\ORADATA\TEST\SYSTEM01.DB原创 2011-10-24 10:42:10 · 402 阅读 · 0 评论 -
Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
看到一个有关实例恢复时 前滚(roll forword)和回滚(roll back)的讨论。在这里小整理一下,也理理自己的一个思路。 一. 什么时候需要实例恢复 在shutdown normal or shutdown immediate下,也就是所谓的clean shutdown,checkpoint也会自动触发,并且把SCN纪录写回。 当发生checkpoint时,会把转载 2011-11-26 11:19:26 · 388 阅读 · 0 评论 -
linux中与Oracle有关的内核参数详解
在安装Oracle的时候需要调整linux的内核参数,但是各参数代表什么含义呢,下面做详细解析。Linux安装文档中给出的最小值:fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 4294967295kernel.shmmni = 4096kernel.s转载 2012-10-25 15:59:17 · 520 阅读 · 0 评论 -
Oracle Index 的三个问题
<br />第一讲、索引并非总是最佳选择 <br /> 如果发现 Oracle 在有索引的情况下,没有使用索引,这并不是 Oracle 的优化器出错。在有些情况下, Oracle 确实会选择全表扫描( Full Table Scan ) , 而非索引扫描( Index Scan )。这些情况通常有: <br />1. 表未做 statistics, 或者 statistics 陈旧,导致 Oracle 判断失误。 <br />2. 根据该表拥有的记录数和数据块数,实际上全表扫描要比索引扫描更快。 <br转载 2010-11-10 09:36:00 · 257 阅读 · 0 评论 -
truncate 分区表中的某个分区
<br />alter table table_name truncate partition part_name;原创 2010-11-10 09:32:00 · 3482 阅读 · 0 评论 -
超越基本原则
DBA 102:超越基本原则(一)2008-7-3 作者:Michael Hillenbrand 来源:TechTarget中国Michael Hillenbrand,远程数据库经理。专攻IT管理、最佳操作方法、服务管理以及质量改善等方面。他从事数据库支持15年,在Oracle、SQL Server和DB2等方面积累了大量丰富经验。<br />【TechTarget中国原创】因为持续要求减少IT成本,DBA们不能再被看作是主要的成本负担。相反,DBA们必须努力于被公司认可和证明他们的价值。本篇文章原创 2010-06-30 07:55:00 · 519 阅读 · 0 评论 -
Oracle冷备份及恢复
<br />一、备份<br /> 1、关闭数据库:shutdown immediate<br /> 2、拷贝DATAFILE、CONTROLFILE、REDO、密码文件、参数文件(SPFILE)、LISTENER.ORA、TNSNAMES.ORA到其它存储上备份。<br />二、恢复<br /> 重装系统及数据库的恢复方法<br /> 需保证操作系统和数据库的版本和原来一致,最好目录结构也不变<br /> 1、安装ORACLE软件,不建实例。<br /> 2、原创 2010-07-14 15:20:00 · 402 阅读 · 0 评论 -
转移表空间步骤
转移表空间步骤一、转移表空间ALTER TABLE tab_name MOVE TABLESPACE tabspace_name;批量生成语句:select 'ALTER TABLE '||TABLE_NAME||' MOVE TABLESPACE tabspace_name;' from user_tables;二、重建索引ALTER INDEX indx_name REBUILD ONLINE;SEELCT 'ALTER INDEX ''||INDX_NAME||' REBUILD ONLINE;' f原创 2010-09-09 16:39:00 · 2238 阅读 · 0 评论 -
限制索引
<br />一、不等于操作符(<>、!=)<br />表customers表的cust_rating列有一个索引,但下面的查询语句仍然全表扫描<br />select cust_id,cust_name from customers where cust_rating <> 'aa';<br />将上面语句改成如下查询语句,采用基于规则的优化器时,会使用索。<br />select cust_id,cust_name from customers where cust_rating<'aa' or cust原创 2010-09-10 21:26:00 · 349 阅读 · 0 评论 -
我们应该怎样安装Oracle数据库?
我们应该怎样安装Oracle数据库?<br /> 应该怎么样安装数据库,从安装软件到创建数据库?对于这个问题,或许有的人不屑一顾,因为他们觉得这没有丝毫问题;同时有另一部分人,觉得这是个大问题。<br /> 在安装Oracle上,通常会有几种类型的人:<br /> 完全抓不着头脑,不知道怎么安装,这通常是初学者,连Linux/Unix都不太熟悉。<br /> 很少安装Oracle的人,但是知道对照文档一步一步操作,出了错也知道上google、baidu和metalink查找解决方案。<br />原创 2010-09-10 22:35:00 · 1630 阅读 · 0 评论 -
触发器的命名方法
CREATE OR REPLACE TRIGGER student_bi(bi:BEFORE INSERT)............................................... student_ai(ai:AFTER INSERT)............................................... student_au(au:AFTER UPDATE)BEFORE INSERT ON studentFOR EACH ROWBEGIN...........转载 2010-09-09 22:19:00 · 1266 阅读 · 0 评论 -
Oracle PL/SQL 合并文本列
<br />需要将多行合并为一行。<br />表结构如下:<br />NAME Null Type<br />------------------------ --------- -----<br />N_SEC_CODE NOT NULL CHAR(6)<br />C_RESEARCHER_CODE NOT NULL VARCHAR2(20)<br /><br />此表保存了“股票”与转载 2010-09-01 22:32:00 · 1712 阅读 · 0 评论 -
ORA-29807: specified operator does not exist
<br /> 在数据库创建过程的“创建数据字典视图”阶段中,您将接收到一个 ORA-29807 错误。如果您搜索日志文件,您将看到以下内容: <br /> drop operator XMLSequence<br /> * <br /><br /> ERROR at line 1:<br /> ORA-29807:specified operator does not exist<br /> 这是一个已知的问题 (Bug:2686156),并且可被忽略。要继续数据库创建过程,转载 2010-09-03 20:47:00 · 731 阅读 · 0 评论 -
重建Temp表空间
<br />重建Temp表空间 startup --启动数据库 create temporary tablespace TEMP2 TEMPFILE '/home2/oracle/oradata/sysmon/temp02.dbf' SIZE 512M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; --创建中转临时表空间 alter database default temporary tablespace t原创 2010-11-26 14:42:00 · 1578 阅读 · 0 评论 -
oracle中关于in和exists,not in 和 not exists
<br />oracle中关于in和exists,not in 和 not existsin和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。not exists:做NL,对子查询先查,有个虚表,有确定值,所以就算子查询有NULL最终也有值返回not in:做hash,对子查询表建立内存数组,用外表匹配,那子查询要是有NULL那外表没的匹配最终无值返回。<br /> 一直以来认为exists比in效率高的说法是不准确的。转载 2010-11-27 08:37:00 · 3451 阅读 · 0 评论 -
Oracle10g优化器统计信息自动收集
<br />Oracle10g优化器统计信息自动收集<br />一、相关视图<br /> DBA_TAB_STATISTICS //table的统计<br /> DBA_TAB_COL_STATISTICS //列的统计<br />二、GATHER_STATS_JOB<br />Oracle10G调用该JOB调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC内部过程来收集优化器统计数据。<br />三、DBMS_STATS包<原创 2010-11-29 08:58:00 · 813 阅读 · 0 评论 -
pl/sql developer中执行有返回值的存储过程
<br />先定义接收回返回值的变量:var c varchar2(50); --或者 variable c varchar2(50)<br />执行过程 execute Test_Procedure_Name(:c,parameter1,parameter2);原创 2010-10-13 07:45:00 · 1698 阅读 · 0 评论 -
Oracle数据库设计开发阶段性能优化策略
<br /> Oracle是目前使用最为广泛的大型数据库管理系统,提高Oracle数据库系统的运行效率,是整个计算机信息系统高效运转的前提和保证。影响Oracle数据库应用系统性能的因素很多,既有软件方面的因素,也包括数据运行的硬件环境、网络环境、数据库管理和维护方面的因素等。数据库系统设计开发阶段是Oracle应用优化的最佳阶段,也是主动优化阶段,能达到以最小成本获得最大性能增益的目的。通过对其逻辑存储结构和物理存储结构设计进行优化,使之在满足需求条件下,时空开销性能最佳,可以解决数据库系统运行原创 2010-12-14 09:25:00 · 427 阅读 · 0 评论 -
Linux下完全卸载ORACLE 10G的方法
<br />1. 运行 $ORACLE_HOME/bin/localconfig delete<br />2. rm -rf $ORACLE_BASE/*<br />3. rm -f /etc/oraInst.loc /etc/oratab<br />4. rm -rf /etc/oracle<br />5. rm -f /etc/inittab.cssd<br />6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/or原创 2010-12-23 14:35:00 · 546 阅读 · 0 评论 -
oracle索引及使用原则
尽量在插入数据完成后建立索引,因为索引将导致插入数据变慢,特别是唯一索引 在正确的表和列上建索引 优化索引列顺序提高性能 限制每个表的索引个数 删除不需要的索引 指定索引的block设置 估计索引的大小设置存储参数 指定索引使用的表空间 建索引时使用并行 使用nologing建立索引转载 2010-11-04 07:49:00 · 618 阅读 · 0 评论 -
详解Linux下Oracle数据库的静默安装
<br /> 在某些特殊的情况下,如因为网络或者X配置的关系无法连接到X server或者主机上没有X,就可以使用静默安装的方式安装数据库,同样如果需要大规模部署,则静默安装将会大大减轻DBA的重复劳动力,而且静默安装不需要X,从安装效率及资源占用上都比图形化OUI的方式有优势。<br />1、静默安装Oracle软件<br /> <br /> Oracle的静默安装需要用到一个response文件,这个文件可以通过事先使用OUI录制:<br /> <br /> 执行以下命令,然后在OUI中根原创 2010-11-05 09:28:00 · 576 阅读 · 0 评论 -
Oracle 伪列 rownun
oracle的伪列rownum小结本人最近在使用oracle的rownum实现分页显示的时候,对rownum做了进一步的分析和研究。现归纳如下,希望能给大家带来收获。 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。转载 2012-12-23 11:23:56 · 509 阅读 · 0 评论