随笔分类 -  OralceRac

研究数据集群跟云计算
摘要:Oracle内置空间管理工具-Segment Advisor数据表上频繁的进行插入、更新和删除动作会产生表空间碎片。Oracle可在表或索引上执行Segment shrink。使得segment的空闲空间可用于表空间中的其它segment,可改善DML性能。调用Segment Advisor对指定segment执行增长趋势分析以确定哪些Segment受益于Segment shrink。执行shrink操作,Segment Advisor推荐启用表的ROW MOVEMENTSQL> alter table wind enable row movement;Table altered配置Se 阅读全文
posted @ 2012-08-10 10:25 einyboy 阅读(4682) 评论(0) 推荐(0) 编辑
摘要:analyze table 一般可以指定分析: 表,所有字段,所有索引字段,所有索引。 若不指定则全部都分析。SQL>analyzetablemy_tablecomputestatistics;SQL>analyzetablemy_tablecomputestatisticsfortableforallindexesforallcolumns;SQL>analyzetablemy_tablecomputestatisticsfortableforallindexesforallindexedcolumns;其中:SQL>analyzetablemy_tablecompu 阅读全文
posted @ 2012-08-09 15:12 einyboy 阅读(70454) 评论(1) 推荐(3) 编辑
摘要:timestamp with local time zone 和timesatamp with time zone的最大区别就是,前者在用户提交时间给数据库的时,该类型会转换成数据库的时区来保存数据,即数据库保存的时间是数据库本地时区,当别的用户访问数据库时oracle会自动将该时间转换成当前客户端的时间。例子:1、创建表CREATE TABLE TIMESTAMP_TEST(TIME DATE,TIMESTP TIMESTAMP(3),TIMESTP_TZ TIMESTAMP(3) WITH TIME ZONE,TIMESTP_LTZ TIMESTAMP(3) WITH LOCAL TIME 阅读全文
posted @ 2012-08-06 12:00 einyboy 阅读(7452) 评论(1) 推荐(0) 编辑
摘要:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.eg:INTERVAL '123-2' YEAR(3) TO MONTH 表示: 123年2个月, "YEAR(3)" 表示年的精度为3, 可见"123"刚好为3为有效数值, 如果该处YEAR(n), n<3就会出错, 注意默认是2. 阅读全文
posted @ 2012-08-06 11:56 einyboy 阅读(6448) 评论(0) 推荐(0) 编辑
摘要:1、Flashback Database(利用闪回日志恢复)Oracle Flashback Database特性允许通过SQL语句Flashback Database语句,让数据库前滚到当前的前一个时间点或者SCN,而不需要做时间点的恢复。闪回数据库可以迅速将数据库回到误操作或人为错误的前一个时间点,如Word中的"撤消"操作,可以不利用备份就快速的实现基于时间点的恢复。Oracle通过创建新的Flashback Logs(闪回日志),记录数据库的闪回操作。如果希望能闪回数据库,需要设置如下参数:DB_RECOVER_FILE_DEST日志的存放位置,DB_RECOVER 阅读全文
posted @ 2012-08-06 11:31 einyboy 阅读(18369) 评论(0) 推荐(1) 编辑
摘要:oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是: select ... from <TableName> where <Conditional-1> start with <Conditional-2> connect by <Conditional-3> ; <Conditional-1>:过滤条件,用于对返回的所有记录进行过滤。 <Conditional-2>:查询结果重起始根结点的限定条件。 & 阅读全文
posted @ 2012-08-01 10:57 einyboy 阅读(2188) 评论(0) 推荐(0) 编辑
摘要:Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.在Oracle 10g中MERGE有如下一些改进:1、UPDATE或INSERT子句是可选的2、UPDATE和INSERT子句可以加WHERE子句3、在ON条件中使用常量过滤谓词来insert所有的行到目标表中,不需要连接源表和目标表4、UPDATE子句后面可以跟DELETE子句来去除一些不需要的行首先创建示例表:create table PRODUCTS ( PRODUCT_ID IN 阅读全文
posted @ 2012-08-01 09:43 einyboy 阅读(2336) 评论(0) 推荐(0) 编辑
摘要:ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。POSIX 正则表达式由标准的元字符(metacharacters)所构成:'^' 匹配输入字符串的开始位置,在方括号表达式中使 阅读全文
posted @ 2012-08-01 00:38 einyboy 阅读(30396) 评论(1) 推荐(1) 编辑
摘要:1.增加分区的SQL语法alter table table_nameaddpartition...2.创建一个分区表sec@ora10g> drop table t_partition_range purge;Table dropped.sec@ora10g> create table t_partition_range (id number,name varchar2(50))2 partition by range(id)(3 partition t_range_p1 values less than (10) tablespace tbs_part01,4 partition 阅读全文
posted @ 2012-07-25 17:56 einyboy 阅读(11868) 评论(0) 推荐(0) 编辑
摘要:【问题现象】在给表空间添加文件后,发现数据文件的添加的位置或名字不规范,需要规范性的更正如下述场景:sys@ora10g> col tablespace_name for a15sys@ora10g> col file_name for a50sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';TABLESPACE_NAME FILE_NAME--------------- ------------------- 阅读全文
posted @ 2012-07-25 17:50 einyboy 阅读(4634) 评论(0) 推荐(0) 编辑
摘要:http://space.itpub.net/519536/viewspace-606533查看( 258 )/评论( 0 )/评分(0/0)数据库环境简介:操作系统: Windows XP数据库版本:Oracle10.2.0.1归档模式: 非归档备份策略: 没有任何的备份策略,无备份可用用途: 测试数据库【故障描述】今天在启动本机测试用数据库时惊现数据库无法启动,提示如下:C:\>sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Tue Jun 16 18:25:43 2009Copyright (c) 19 阅读全文
posted @ 2012-07-25 17:45 einyboy 阅读(558) 评论(0) 推荐(0) 编辑
摘要:汇总整理一下有关重做日志文件(redologfiles)管理相关的操作(增,删,改,查,切)。供参考。1.当前日志相关信息sys@ora11g> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM---------- ---------- ---------- ---------- ---------- --- --------- ------------- --------- 1 1 10 209715200 1 YES INACTIVE 46193 阅读全文
posted @ 2012-07-25 17:18 einyboy 阅读(2381) 评论(0) 推荐(0) 编辑
摘要:Oracle移动重做日志的方法很简单,下面就为您详细介绍Oracle移动重做日志文件的方法,如果您对Oracle移动重做日志方面感兴趣的话,不妨一看。$sqlplus'/assysdba'#关闭数据库。SQL>shutdownimmediate#cp日志文件到目标位置。SQL>!cp/opt/oracle/oradata/redo*/opt/oracle/oratest/#让数据库以mount模式启动。SQL>startupmount;#修改数据库中日志文件的位置SQL>alterdatabaserenamefile'/opt/oracle/or 阅读全文
posted @ 2012-07-25 15:22 einyboy 阅读(720) 评论(0) 推荐(0) 编辑
摘要:[oracle@einyboy ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 25 12:21:02 2012Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL& 阅读全文
posted @ 2012-07-25 15:16 einyboy 阅读(2661) 评论(0) 推荐(0) 编辑
摘要:今天把DataStage导一个大表,一不小心把表给锁住了........其实解锁并不复杂,用PL/SQL可以很方便解锁,可以用两种方式得到目前被锁住的表。第一种是,直接从,Tools->Session里面查看,里面有很多的Session和进程,下面有一个Lock的Tab,选中那个Tab,然后一条一条地去上面Session,如果Lock这一栏有数据,就说明被锁住了,在Objec_Name里面可以看到表名。如果是自己的表,可以得到Sid和Serial#,接着执行以下语句就可以解锁:alter system kill session 'sid,serial#';第二种方法是用语 阅读全文
posted @ 2012-07-16 13:05 einyboy 阅读(559) 评论(0) 推荐(0) 编辑
摘要:前言:在您维护数据库的过程中一定听说过某位同事说:我的这条如此简单的SQL语句为什么20多分钟了还没有执行完成?在处理这类问题的时候记得把“锁等待”因素考虑进去。具体的实验如下。1.模拟“锁等待”现象1)开启一个终端创建测试表test_lock,插入一条数据,模拟更新该条数据,但不提交sys@orcl> conn sec/secConnected.sec@orcl> create table test_lock ( a int );Table created.sec@orcl> insert into test_lock values ( 1 );1 row created. 阅读全文
posted @ 2012-07-13 10:13 einyboy 阅读(373) 评论(0) 推荐(0) 编辑
摘要:当我们对数据库优化诊断时,需要收集相应的信息以供参考,从个人的使用经验来说,这种统计数据分为两大类一类是数据库级别的统计信息二类是os级别的统计信息下面就分别介绍在不同的级别下,常用什么工具来收集信息帮助优化诊断首先是oracle数据库级别优化分析工具介绍目录:1.statspack2.ASH3.AWR4.ORACLE EXPLAIN PLAN的总结(查询sql的执行计划) a.autotrace b.explain的使用1.statspacka。安装sql> sqlplus "/ as sysdba"SQL> select file_name from dba 阅读全文
posted @ 2012-07-12 17:44 einyboy 阅读(2770) 评论(0) 推荐(0) 编辑
摘要:今天做awr报告发现gc buffer busy等待时间gc buffer busy This wait event, also known as global cache buffer busy prior toOracle10g, specifies the time the remote instance locally spends accessing the requested data block. This wait event is very similar to the buffer busy waits wait event in asingle-instancedatab 阅读全文
posted @ 2012-07-12 16:38 einyboy 阅读(582) 评论(0) 推荐(0) 编辑
摘要:一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG。另一种类型是DBWR、LGWR、SMON等后台进程创建的后台跟踪文件。后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为sid 阅读全文
posted @ 2012-06-26 15:58 einyboy 阅读(2222) 评论(0) 推荐(0) 编辑
摘要:SQL> variable file# numberSQL> execute :file#:=dbms_utility.data_block_address_file(to_number('400179','xxxxxxx'));PL/SQL procedure successfully completed.SQL> variable block# numberSQL> execute :block#:=dbms_utility.data_block_address_block(to_number('400179', 阅读全文
posted @ 2012-06-26 15:36 einyboy 阅读(618) 评论(2) 推荐(0) 编辑