oracle-基础篇
文章平均质量分 71
ONLYONE_HTLIU
这个作者很懒,什么都没留下…
展开
-
常用sql语句
//利用pSQL改数据select * from eosoperator o where o.userid=admincz for update wqNXrEJQJ2bfy1uGWiiX0w== Q3qtuxGsI7B5u60nFMu+qA== commit dCz7O+t2DE1ox6sKPqNp/w== 5185024 shengzhonhxin wqNXrEJQJ2bfy1原创 2008-03-22 11:33:00 · 8202 阅读 · 1 评论 -
分区表与分区索引(一):范围分区表的操作
--0.版本及环境<br /><br />SQL> conn / as sysdba<br />已连接。<br /><br />SQL> create tablespace tp_p1 datafile 'd:/oracle/oradata/test/tp_p1.dbf' size 10m <br /> 2 autoextend on next 1m maxsize 100m <br /> 3 extent management local <br /> 4 segment space mana原创 2010-06-01 10:19:00 · 2444 阅读 · 1 评论 -
分区表
分区表分区表是将大表的数据分成称为分区的许多小的子集,9i提供四种分区方法:范围分区,列表分区,哈希分区和混合分区;<br />· 范围分区是根椐分区键的不同取值范围来划分子集的,关键字RANGE, VALUES LESS THAN;<br />· 列表分区是根椐分区键的一些离散的取值来划分子集的,关键字LIST, VALUES;<br />· 哈希分区是应用哈希算法将分区键对应到某个子集中去,关键字HASH, PARTITIONS;<br />· 混合分区只能有两层,第一层是范围分区,第二层可以是列表分区原创 2010-06-01 10:23:00 · 629 阅读 · 0 评论 -
Oracle表分区学习笔记
Oracle表分区学习笔记<br /><br />Oracle表分区<br />自从oracle8i 开始可以把一个表分割为多个小的部分,这样可以对oracle的性能优化带来很大的好处~<br />例如:改善表的查询性能,更加容易管理表数据,备份和恢复操作更方便<br />在oracle 中分区表 分为好几种的(范围分区,散列分区,子分区,列表分区,索引分区)下面我们来慢慢介绍<br />现在我们来建立一个[范围分区]<br /><br /><br />create table range_test (ra原创 2010-06-01 10:31:00 · 610 阅读 · 0 评论 -
分区表、分区索引和全局索引部分总结
<br />在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表。<br /><br />create table ta(c1 int,c2 varchar2(16),c3 varchar2(64),c4 int constraint pk_ta primary key (c1)) partition by range(c1)(partition p1 values less than (10000000),partition p2 values less than (20000000),par原创 2010-06-01 10:32:00 · 732 阅读 · 0 评论 -
分区表与分区索引(二):范围分区表的数据管理
--0.重建分区表<br />SQL> drop table testrp; 表已丢弃。 SQL> create table testrp(a number(10), b varchar2(10))<br /> 2 partition by range(a)(<br /> 3 partition testrp1 values less than (51),<br /> 4 partition testrp2 values less than (81)<br /> 5 )<br /> 6原创 2010-06-01 10:22:00 · 826 阅读 · 0 评论 -
分区表分区字段的update操作
<br />默认情况下,oracle的分区表对于分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错——ORA-14402: 更新分区关键字列将导致分区的更改。但是可以通过打开表的row movement属性来允许对分区字段的update操作。<br /><br />例:创建分区表test_part进行实验<br /><br />create table TEST_PART<br />(<br /> A1 NUMBERnot null,<br /> A2 DATE原创 2010-06-01 10:24:00 · 9911 阅读 · 0 评论 -
组合分区表的创建及其表空间的存储位置
oracle只支持两种组合分区表:range-list和range-hash组合分区表。我们测试一下创建方法,以及组合分区表中的 表、分区、子分区 的表空间如何存储:--1.创建range-hash组合分区表testrhp1<br />SQL> create table testrhp1( a number(5), b varchar2(10) )<br /> 2 partition by range(a)<br /> 3 subpartition by hash(b) subpartitions原创 2010-06-01 10:26:00 · 1344 阅读 · 0 评论 -
Oracle 分区表(Partition)
<br />看示例库的时候,发现有一些表的DDL不仅有Column部分,还有很多Partition部分,不理解什么意思。于是搜索了一下,发现原来是Oracle的一个Feature。 以下是参考资料:(可以结合示例库中的SH下的一些表学习)<br />Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 <br /><br />Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SE原创 2010-06-01 10:28:00 · 765 阅读 · 0 评论 -
impdp传输表空间错误小记 ORA-39083: Object type INDEX_STATISTICS failed to create with error:
<br />经常用expdp和impdp 但今天在论坛上看到哥们在讨论一个问题所以下先记录下了免得今后碰到:<br /> 狐狸(375394747) 15:28:07<br />impdp遇到错误 <br />狐狸(375394747) 15:28:49<br />报告<br />ORA-39083: Object type INDEX_STATISTICS failed to create with error:<br />ORA-01403: no data found<br />ORA-0140原创 2010-06-02 16:02:00 · 8926 阅读 · 1 评论 -
归档日志定时删除
<br />以前写了一个 不知道被谁删除了 ,昨天又重复工作,今天记录下来备份省的下次重写<br />一、系统参数<br />hpux 16G内存、4核cpu<br />二、物理定时删除<br />contab -e<br />0 2 * * * find /home/sxtsiomsArc -mtime +15 -exec rm -f {} /;<br />45 3 * * * /oradata/scripts/delarchivelog.sh<br />三、逻辑删除<br />delarchi原创 2010-08-06 17:09:00 · 2846 阅读 · 0 评论 -
imp到不同表空间
<br /> 用户tssa默认表空间是tssapub,现想迁移到tssapubnew<br />1、首先建立默认表空间为tssapubnew<br /> <br />2、<br />revoke unlimited tablespace from TSSA;<br /> <br /> alter user tssa quota 0 on TSSAPUB;<br /><br />alter user tssa quota unlimited on TSSAPUBNEW;<br /> <br />发现导入数据原创 2010-06-21 14:58:00 · 865 阅读 · 0 评论 -
rman现场备份策略
<br /> <br /><br />/u01/app/oracle/product/10.1/bin/rman target sys/sys123@sxtsioms cmdfile=/opt/rmanbak/bakl0 log=/opt/rmanbak/bakl0.log append<br />/u01/app/oracle/product/10.1/bin/rman target sys/sys123@sxtsioms cmdfile=/opt/rmanbak/bakl1 log=/o原创 2010-06-22 17:55:00 · 864 阅读 · 0 评论 -
索引原理
当我们创建索引时,oracle会为索引创建索引树,表和索引树通过rowid(伪列)来定位数据。当表里的数据发生更新时,oracle会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。例如在某表id列上创建索引,某表id列上有值“101”,当我将“101”更新为“110”时,oracle同时会来更新索引树,但是oracle先将索引树中的“101”标示为删除(实际并未删除,只是标示一下),然后再将“110”写到索引树中。如果表更新比较频繁,那么在索引中删除标示会越来越多,这时索引的查询效率必然降低原创 2010-10-09 17:15:00 · 878 阅读 · 0 评论 -
重建控制文件引发的一系列ORA
<br />最近在做stream实验,主库stream1,从库stream2<br />我把主库安装好后直接拷贝到丛库中,才发现所有文件都是stream1,至此犯了一个错误<br /> <br />于是开始从参数文件开始修改,当mount状态的时候:<br />ORA-01503: CREATE CONTROLFILE failed<br />ORA-01161: database name STREAM1 in file header does not match given name of<br />S原创 2010-12-14 12:58:00 · 6192 阅读 · 0 评论 -
ORA-1034 ORACLE not available
<br />前言 <br /> 每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA-xxxx)。有些错误由于频繁出现、原因复杂而被DBA们戏称之为"经典的错误"。其中ORA-3113 "end of fileon communication channel" 就是这样的一个. <br /><br /> 我们可以简单的把这个错误理解为Oracle客户端进程和数据库后台进程连接中断。不过,导致这个错误的原因实际上有很多种,对数据库设置不当、任何能导致数据库后台进程崩溃的行 为都可能产转载 2010-12-14 13:03:00 · 15005 阅读 · 0 评论 -
rman迁移及异地恢复
<br />/u01/app/oracle/product/10.1/bin/rman target sys/sys123<br />一、在数据库没有改变的情况下<br />1、备份全库及控制文件<br />run {<br /> configure controlfile autobackup on;<br /> configure controlfile autobackup format for device type disk to '/opt/rmanbak/%F';<br /> alloc原创 2010-11-12 11:54:00 · 4436 阅读 · 0 评论 -
oracle索引组织表-----介绍
<br />索引组织表(IOT)不仅可以存储数据,还可以存储为表建立的索引。索引组织表的数据是根据主键排序后的顺序进行排列的,这样就提高了访问的速度。但是这是由牺牲插入和更新性能为代价的(每次写入和更新后都要重新进行重新排序)。 索引组织表的创建格式如下:<br /> createtableindexTable(<br /> IDvarchar2(10),<br /> NAMEvarchar2(20),<br /> constraintpk_id primaryk原创 2010-06-01 09:56:00 · 731 阅读 · 0 评论 -
oracle索引组织表-----介绍
<br />索引组织表(IOT)不仅可以存储数据,还可以存储为表建立的索引。索引组织表的数据是根据主键排序后的顺序进行排列的,这样就提高了访问的速度。但是这是由牺牲插入和更新性能为代价的(每次写入和更新后都要重新进行重新排序)。 索引组织表的创建格式如下:<br /> createtableindexTable(<br /> IDvarchar2(10),<br /> NAMEvarchar2(20),<br /> constraintpk_id primaryk原创 2010-06-01 09:55:00 · 426 阅读 · 0 评论 -
oracle索引组织表-----介绍
<br />索引组织表(IOT)不仅可以存储数据,还可以存储为表建立的索引。索引组织表的数据是根据主键排序后的顺序进行排列的,这样就提高了访问的速度。但是这是由牺牲插入和更新性能为代价的(每次写入和更新后都要重新进行重新排序)。 索引组织表的创建格式如下:<br /> createtableindexTable(<br /> IDvarchar2(10),<br /> NAMEvarchar2(20),<br /> constraintpk_id primaryk原创 2010-06-01 09:55:00 · 505 阅读 · 0 评论 -
如何启用sqlplus的AutoTrace功能
通过以下方法可以把Autotrace的权限授予Everyone,如果你需要限制Autotrace权限,可以把对public的授权改为对特定user的授权。 D:/oracle/ora92>sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 3 15:16:03 2003Copy原创 2010-03-24 17:44:00 · 586 阅读 · 0 评论 -
常用执行计划小结
在ORACLE数据库中,需要对SQL语句进行优化的话需要知道其执行计划,从而针对性的进行调整.ORACLE的执行计划的获得有几种方法,下面就来总结下 1、EXPLAIN的使用 Oracle RDBMS执行每一条SQL语句,都必须经过Oracle优化器的评估。 所以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语句有很大的帮助。 Explain可以用来转载 2010-03-29 13:07:00 · 775 阅读 · 0 评论 -
浅谈oracle中重建索引_(ZT)
当我们创建索引时,oracle会为索引创建索引树,表和索引树通过rowid(伪列)来定位数据。当表里的数据发生更新时,oracle会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。例如在某表id列上创建索引,某表id列上有值“101”,当我将“101”更新为“110”时,oracle同时会来更新索引树,但是oracle先将索引树中的“101”标示为删除(实际并未删除,只是标示一转载 2010-04-08 14:20:00 · 729 阅读 · 0 评论 -
cbo优化中的基数(cardinality)介绍
CBO(基于代价的优化器)是RBO(基于规则的优化器)的替代品,从9i开始oracle就建议用户使用RBO来进行SQL的优化。CBO大概的优化原理很简单,他通过对象上的统计信息来计算各个执行计划的代价,然后选择代价较小的执行计划来运行。所以对于CBO来说对象(比如表,索引)上的统计信息就显得十分的重要,不仅要有统计信息,还要保证统计信息是准确的,不准确的统计信息可能会带来灾难性的结果。那么orac转载 2010-04-07 09:30:00 · 1419 阅读 · 0 评论 -
alter index coalesce和alter index rebuild的区别
alter index coalesce和alter index rebuild的区别:alter index coalesce是合并同一branch的leaf block。而alter index rebuild是重新建立一个indexes,一般需要2倍的index大小的空间。而且需要排序。以下是证明alter index coalesce的过程:×××××××× ×××××××××××××××转载 2010-04-08 14:49:00 · 2039 阅读 · 0 评论 -
IN-EXISTS
SELECT /* EXISTS example */e.employee_id, e.first_name, e.last_name, e.salaryFROM employees eWHERE EXISTS (SELECT 1 FROM orders o /* Note 1 */WHERE e.employee_id = o.sales_rep_id /* Note 2 */AND o.cus原创 2010-04-26 16:54:00 · 509 阅读 · 0 评论 -
oracle job 定时调用过程应用
主要是利用job定时调用过程进行批量处理一些事物:PROTABLE表含有long字段 每次业务处理完要删除,速度很慢,后来通过置标志位解决,夜间再通过job删除,有效解决在业务繁忙期间删除慢的情况。联通现场数据job创建如下:(有时会出现next time 不准 需要通过客户端调节一下即可)-----建立SQL> variable joba number;SQL> begin 2 dbms_job.submit(:joba,'AUTO_DELETE_PROTABLE;',sysdate,'(sysdat原创 2010-06-30 13:35:00 · 1518 阅读 · 0 评论 -
批量分析日志
<br />有时需要大量分析日志,甚至上百个,如果一个个手动dbms_logmnr.add_logfile 无疑是一个很大工作量<br /> 于是写了存储过程进行批量分析<br />前提条件:sys用户建立<br /> 日志序列连续<br />----------------------------------------------------<br />-- Export file for user SYS --<br />-- C原创 2010-06-30 13:23:00 · 785 阅读 · 0 评论 -
tns-12570错误解决
今天有哥们突然出现tns-12570,重建lis也不行。原来哥们用的是11G,11g 的 listener 写了一个日志该日志达到4G 重命名该文件后 重启lsnrctl就ok了原创 2010-07-05 11:58:00 · 1930 阅读 · 0 评论 -
long---clob转化
1、long--long 只能在server下进行copy from scott/tiger@lsj to lsj/lsj@sunserve create dept using select * from dept;2、long-clob 不用多说3、clob-clob 省略4、clob---longSQL> declare 2 my_char varchar2(32000); 3 begin 4 for x in (select aa.id,aa.interior_id,aa.remark原创 2010-07-08 16:38:00 · 1376 阅读 · 0 评论 -
做了表的空间迁移后,索引失效处理
<br />当对一大表做了ALTER TABLE xxx MOVE TABLESPACE xxx后<br /><br />发现索引不生效,为什么会这样的呢?该如何处理? <br /> <br />因为表的rowid 变了,重建一下不就好了,如下:<br /> <br />SQL> alter table F_CREDIT move tablespace HWM;<br /><br />Move一个表到另外一个表空间时,索引不会跟着一块move,而且会失效。(LOB类型例外)<br /><br />在创建失效原创 2010-07-13 10:54:00 · 2104 阅读 · 0 评论 -
在没有备份情况下误删除数据文件的恢复
一、表空间tssapub 数据文件tssapub.dbf 表test 归档日志全在1、在open下删除数据文件2、关闭数据库(abort)后重新打开Database mounted.ORA-01157: cannot identify/lock data file 6 - see DBWR trace fileORA-01110: data file 6: /u01/app/or原创 2010-05-24 13:06:00 · 1287 阅读 · 0 评论 -
RMAN参数配置
使用RMAN>show all;可以显示出RMAN 配置参数为:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE转载 2010-05-25 11:15:00 · 773 阅读 · 0 评论 -
oracle索引组织表----索引组织表性能测试
<br />根据asktom上的例子,自己就索引组织表做了一些试验。<br />下面分别就索引组织表和普通表的一些性能对比做一些试验,创建两张表,一个为普通的表,另外一个为索引组织表:<br />C:>sqlplus<br />SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 5月 19 11:09:06 2005<br />Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.<b原创 2010-06-01 09:49:00 · 1111 阅读 · 1 评论 -
批量重建索引
<br />set serveroutput on size 50000;<br />/*--<br />1、存储过程使用了dba视图,所以执行行时必须用sys账户进去执行exec tsioms.rebuildindex;<br />2、排除了带有大字段表索引情况<br />3、排除 “UNUSA“,”VALID“,已经索引高度和高水位情况<br />--*/<br />CREATE OR REPLACE PROCEDURE TSIOMS."REBUILDINDEX"<br />is<br原创 2010-11-15 16:24:00 · 1606 阅读 · 0 评论