- 博客(48)
- 收藏
- 关注
原创 compile_6i
for %%i in (*.rdf) do start /w Rwcon60.exe batch=yes stype=rdffile source=%%i logfile=report.log userid=user/psw for %%i in (*.pll) do start /w ifcmp60.EXE module=%%i module_type=library userid=us...
2010-10-12 21:35:18 91
原创 compile bat
compile_pll_form.batfor %%i in (*.pll) do start /w ifcmp60.EXE module=%%i module_type=library userid=user/psw@str for %%i in (*.fmb) do start /w ifcmp60.EXE module=%%i module_type=form userid=user/p...
2010-10-12 21:33:36 292
原创 test26_5
13 使用索引:合理的索引针对如何用上合理的索引,以下举ORACLE数据库中的例子进行说明:1、任何对列的操作都可能导致全表扫描,这里所谓的操作包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等式的右边,甚至去掉函数。2、避免不必要的类型转换,要了解“隐藏”的类型转换。 3、增加查询的范围,限制全范围的搜索。 4、索引的选择性低,但数据的值分布差异很大时,仍然可以利用索引提高效率。 5、在...
2010-06-30 16:31:57 102
原创 test26_4
11 使用索引:建立索引的原则1、索引字段需要建立NOT NULL约束;2、表的主键、外键必须有索引;3、数据量超过1000的表应该有索引;4、经常与其他表进行连接的表,在连接字段上应该建立索引;5、经常出现在Where子句中的字段且过滤性很强的,特别是大表的字段,应该建立索引;6、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替: A、正确选择复合索引中的第一个字段,一般是选择性较...
2010-06-30 16:30:30 76
原创 test26_3
9 索引种类:位图索引Create BITMAP index indexname on tablename(columnname [columnname...]) 位图索引主要用于决策支持系统或静态数据,不支持行级锁定。适用于OLAP(在线分析)和DSS(决策处理)系统,位图索引最好用于低cardinality列(即列的唯一值除以行数为一个很小的值,接近零),适合集中读取,不适合插入和修改,提供比...
2010-06-30 16:29:14 80
原创 test26_2
7 索引种类:反向索引Create index indexname on tablename(columnname[columnname...]) reverse 反向索引是B*Tree索引的一个分支,它的设计是为了运用在某些特定的环境下的,在ops环境加序列增加的列上建立,不适合做区域扫描。 Oracle推出它的主要目的就是为了降低在并行服务器(Oracle Parallel Server)环境...
2010-06-30 16:28:55 66
原创 test26_1
4 索引概述:什么是索引索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据。 关于索引是什么的最简单的比喻是,索引之于表数据如同目录之于一本书。通过目录的页码我们可以快速的定位一个内容,同样通过索引记录的rowid我们可以快速的定位一条数据。如同目录很难针对书中每个字词一样,索引也很难针对所有字段。我们通常索引最能代表章节,记录属性的内容。 5 索引概述:使用索引的目的加快...
2010-06-30 16:26:30 67
原创 test26_0
1 Oracle 索引2 Contents索引概述什么是索引使用索引的目的索引种类B*Tree索引反向索引降序索引位图索引函数索引3 Contents使用索引建立索引的原则合理的索引索引未用上?确定索引的使用情况 ...
2010-06-30 16:25:12 80
原创 test25
如何收集表的部分统计信息如果表很大,收集表的统计信息需要花很长的时间,这时可以仅收集表的部分统计信息提供优化器统计信息收集表的5%的大小作为统计信息 Analyze table m estimate statistics sample 5 percent如何分析在线日志或归档日志中的内容Sqlplus “/ as sysdba”SQL> select member from v...
2010-06-30 15:59:46 69
原创 test24
处理exp Exporting questionable statistics1、现象、问题描述About to export specified tables via Conventional Path .... . exporting table BASETAB 9160939 rows exportedEXP-00091: Export...
2010-06-30 15:53:52 183
原创 test23_1
Argument Name Type In/Out Default? ----------------- ----------------------- ------ -------- SEGMENT_OWNER VARCHAR2 IN SEGMENT_NAME ...
2010-06-30 15:49:05 92
原创 test23
回收表的高水平位表的高水平位(High water mark)是表曾经最大的占用空间位的标记位。在表做全表扫描时会读到高水平位的位置(哪怕表中没有数据)。所以要消除高水平位让表扫描的速度更快。Oracle提供的dbms_space包可以分析出表中高水平位,如下:desc DBMS_SPACEPROCEDURE UNUSED_SPACE ...
2010-06-30 15:47:36 70
原创 test22
dblink的使用1、现象、问题描述 在local服务器上有数据库db_local,db_name = db_local,应用用户:user_local/pwd_local在另1台远程服务器上有数据库db_remote,db_name = db_remote;应用用户:user_remote/pwd_remote现在需要从db_local上用user_local用户访问db_remote上用户u...
2010-06-30 15:29:51 69
原创 test21
如何查询长时间的操作何时结束数据库中有一个视图中v$session_longops 可以记录操作6秒以上的SQL操作,并估计还剩余的完成时间,视图如下:有一些关键的字段的解释如下:OPNAME VARCHAR2(64) Brief description of the operationTARGET VARCHAR2(64) The object on which the operat...
2010-06-30 15:29:20 75
原创 test20
如何只恢复经过多次commit后的某个事务SQL> insert into t values(1);1 row created.SQL> commit;Commit complete.SQL> commit;Commit complete.SQL> delete from t where id = 1;1 row deleted.SQL> commit;Comm...
2010-06-28 16:48:45 81
原创 test19_1
但ORACLE又提供了另外一种机制:从redo日志或归档日志中恢复该数据,并且更加神奇,ORACLE甚至将其还原为一条条的sql语句!不得不佩服ORACLE的强大功能!而且该方法还有一点是flashback功能所望尘莫及的:它甚至可以恢复drop掉的表,以及其中的全部语句。方法如下:SQL> select member from v$logfile; MEMBER------------...
2010-06-28 16:45:40 62
原创 test19_1
但ORACLE又提供了另外一种机制:从redo日志或归档日志中恢复该数据,并且更加神奇,ORACLE甚至将其还原为一条条的sql语句!不得不佩服ORACLE的强大功能!而且该方法还有一点是flashback功能所望尘莫及的:它甚至可以恢复drop掉的表,以及其中的全部语句。方法如下:SQL> select member from v$logfile; MEMBER------------...
2010-06-28 16:43:35 72
原创 test19
如何恢复删除并且commit后的数据1、现象、问题描述经常会发生误删除数据,并且commit了。恍然醒悟!但如何恢复呢?Oracle 9以前的版本如果在你删除之前没有对数据库完整备份的话,想恢复删除的数据比登天还难。Oracle9 以后提供了数据库闪回功能,可以将数据库恢复到之前的某个合适的时间点。而且提供了flashback query 功能,可以查询某个表在某个时间点的状态,即使这个表...
2010-06-28 16:43:08 76
原创 test18
如何使一个经常用的小表一直保留在内存中?SQL> show parameter db%cache_sizeNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_keep...
2010-06-28 16:39:36 73
原创 test17
如何计算一个表所占用的空间SQL> select sum(bytes)/1024/1024 MB from user_segments where segment_name='Table_name'; MB---------- .4375在user_tables中有表平均行长度和表行数的字段,所以两个之积即为表中数据所占的空间大小。SQL> select ...
2010-06-26 14:23:12 74
原创 test16
把同一数据库的第1张表中的数据快速导入到其它表中,有时也需要有条件的导入部分数据。方法二(推荐方法)insert /*+ APPEND */ into bosscustinfo nologging (msisdn,imsi,password,question,answer,paytype)select msisdn,imsi,password,question,answer,paytype f...
2010-06-26 12:06:29 67
原创 test15
如何移动本地文件系统中的日志到raw device上去1、现象、问题描述SQL> select group#,member from v$logfile; GROUP# MEMBER----------------------------------------------- 1 /home/oracle/oradata/fanu10/redo02.log...
2010-06-26 11:56:56 85
原创 test14
为何Oracle 中的Job不自动执行了1、现象、问题描述有时发现在Oracle中以前运行的JOB不能自动执行了。一时没有办法找到原因。2、关键过程、根本原因分析原因一job_queue_processes是一个数据库的参数,它控制执行job的进程个数,缺省的这个值设置为10,如果这个值设置为0 则job没有办法定时执行。SQL> show parameter jobNAME ...
2010-06-26 11:54:35 61
原创 test13
如何确定了你是否使用并行同时准备两个会话:会话一中:SQL> alter table t parallel <---修改表为可并行。 2 ;表已更改。SQL> select sid from v$mystat where rownum = 1; <--找出当前会话的ID SID---------- 154已...
2010-06-26 11:52:30 66
原创 test12
有时需要删除表中的大部分数据,但并不是要把表清空。 2、关键过程、根本原因分析方法一(不推荐)Delete from taba where logtime <to_date(‘2007-01-01 00:00:00’,’yyyy-mm-dd hh24:mi:ss’)这种方式要记录日志,如果logtime字段上有索引,因为删除表中大部分数据优化器更会选择全表scan,速度很慢。如果事务太大还可...
2010-06-26 11:38:37 107
原创 test11_5
10、确认ORACLE_HOME and TNS_ADMIN 的环境变量不被用户设置 ●Bash shell $ unset ORACLE_HOME $ unset TNS_ADMIN ●c shell % unsetenv ORACLE_HOME % unsetenv TNS_ADMIN 11、再检验一下上面设定的环境变量是否正确。 $ umask $...
2010-06-26 11:36:27 80
原创 test11_4
以oracle 用户名登录系统,配置oracle 用户的环境。以oracle 帐号用安装器来安装oracle,但是开始运行安装器之前,还得设定oracle用户的环境变量,因此必须: ● 设置shell startup文件的umask 为022 ● 设置DISPLAY, ORACLE_BASE, and ORACLE_SID 的环境变量。下面这些步骤是对这些环境变量进行设置的方法: ...
2010-06-26 11:35:48 61
原创 test11_3
Maximum number of open file descriptors nofile 65536 Maximum number of processes available to a single user nproc 16384 现在创建这些限定: 1. 加入下面的行到文件/etc/security/limits.conf * soft nproc 2047 * h...
2010-06-26 11:34:40 79
原创 test11_2
(2)创建安装oracle 所需的组和用户 #groupadd osintall #groupadd dba #useradd –g oinstall –G dba oracle 检查一下oracle 是否属于组 oinstall 和 dba (#id oracle) 再给oracle 设置一个用户口令 #passwd oracle 输入两次密码。 创建安装所需的目录 /u0...
2010-06-26 11:33:32 76
原创 test11_1
Oracle 在 suse 9 上的安装步骤 以root登录系统,并且启动x-window.如果用下表命令输出的值大于或等于建议值,请 检查项目 命令/方法 建议值 内存 #grep MemTotal /proc/meminfo 512MB 交换分区 #grep SwapTotal /proc/meminfo 1GB /tmp目录空闲区 #df –k /tmp 400...
2010-06-26 11:32:15 83
原创 test10
如何移动本地文件系统中的日志到raw device上去1、现象、问题描述SQL> select group#,member from v$logfile; GROUP# MEMBER----------------------------------------------- 1 /home/oracle/oradata/fanu10/redo02.log...
2010-06-26 11:21:59 68
原创 test9
如何解决错误删除数据库文件数据库不能启动的问题1、现象、问题描述SQL> startup ORACLE instance started. Total System Global Area 96393244 bytes Fixed Size 75804 bytes Variable Size 56918016 bytes Database Buffers 39321600 bytes Re...
2010-06-26 11:17:19 69
原创 test8
原始的查询SQL如下:select * from sm_histable0622 where destaddr = '8613423715374' And Final >'2007-6-27'And orgaddr = '1860' and Expire<'2007-8-27'在这个SQL中红色部分(index in1)和蓝色部分字段(index in2)是两个组合索引,但O...
2010-06-26 11:07:59 68
原创 test7
当在一个有大量记录的表上创建索引时这个时间可能会很长,我做了一个实验,在SUN的工作站上对一个有八百多万行的表创建索引要20分钟左右。SQL>set timing onSQL> create index ind_sub_obj on subscribeinfo(OBJECTID);Index created.Elapsed: 00:20:44.50那么有什么办法来加速索引的创建呢?...
2010-06-26 11:00:22 55
原创 test6
PL/SQL procedure successfully completed.Elapsed: 00:03:35.33SQL> select count(*) from t; COUNT(*)---------- 2000000Elapsed: 00:00:00.08Execution Plan-------------------------------------...
2010-06-26 10:55:29 70
原创 test5
大家在statspack报告中经常会去查看top5的语句,但想得到top5语句,其实非常之简单,完全没有必要兴师动众地去用statspack,而只要这条简单的SQL语句即可轻松搞定。Statspack还是在需要分析event,latch,io 等时再去用吧。SQL> select substr(sql_text,1, 50) sql_text,buffer_gets,buffer_get...
2010-06-26 10:53:32 71
原创 test3
alter system set sessions=XXX Pfile, spfile中的processes个数不要设置太多set tracefile_identifier命令可以在现在的Trace跟踪日志文件名的后面加一个后缀,这样就可以很快找到相应的trace文件了。SQL> alter session set tracefile_identifier='li...
2010-06-26 10:46:12 96
原创 test2
1、查看所有的会话 select * from v$session2、查看会话的等待事件select * from v$session_wait该语句在数据库会话被阻塞时用来收集会话被阻塞的原因。3、查看被锁的对象select * from v$locked_object4、查看SGA的状态select * from v$SGA5、查看数据库使用的数据文件select name, ...
2010-06-26 08:50:00 63
原创 test1
1、查找耗用资源高的SQL语句select SQL_TEXT, EXECUTIONS, DISK_READS, BUFFER_GETS,DISK_READS / DECODE(EXECUTIONS, 0, 1, EXECUTIONS) as AVER_DISK,BUFFER_GETS / DECODE(EXECUTIONS, 0, 1, EXECUTIONS) as AVER_BUFFfrom v...
2010-06-26 08:48:07 79
原创 test
1、查看每个表空间剩余空间 select TABLESPACE_NAME, sum(bytes)/1024/1024,sum(blocks) from dba_free_space group by tablespace_name 2、查看每个表空间总的尺寸 select tablespace_name, sum(bytes) / 1048576 from dba_data_files gro...
2010-06-26 08:44:08 55
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人