Oracle 数据类型分享
给团队内部做的一个Oracle 数据类型分享,主要是关于Oracle数据类型一些内部存储结构及性能介绍。
http://www.slideshare.net/yzsind/oracle-4317768
以下是PPT中unDumpNumber函数的全部代码:
create or replace function unDumpNumber(iDumpStr varchar2) return number is
TYPE ByteArray IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
Bytes ByteArray;
Result number;
i integer;
pos1 integer;
pos2 integer;
pos3 integer;
vlength integer;
begin
result := 0;
pos1 := instr(iDumpStr, 'Len=') + 4;
pos2 := instr(iDumpStr, ':');
vlength := substr(iDumpStr, pos1, pos2 - pos1);--get length
i := 0;
pos2 := pos2 + 1;
--将dump的字符串填充到数组中
for i in 0..vlength-1
loop
pos3 := instr(iDumpStr, ',', pos2);
if pos3>0 then
Bytes(i) := trim(substr(iDumpStr, pos2, pos3 - pos2 ));
else
Bytes(i) := trim(substr(iDumpStr, pos2));--最后1字节
end if;
pos2 := pos3 + 1;
end loop;
--还原NUMBER
if Bytes(0) = 128 then --128表示0
result := 0;
elsif Bytes(0) > 128 then --大于128表示正数
for i in 1 .. vlength - 1 loop
result := result +
(Bytes(i) - 1) * power(100, (Bytes(0) - 193) - i+1);
end loop;
else --小于128表示负数
for i in 1 .. vlength - 2 loop
result := result +
&nb
相关文档:
前几天帮一个朋友弄ORACLE跨数据库的操作,共享下具体的操作流程:
一、不同IP的数据库(DBLINK)
本地数据库ip 10.56.7.26
远程数据库ip 233.215.219.8
1.在10.56.7.26数据库安装文件中,找到$ORACLE_HOME/network/admin/tnsnames.ora文件,
末尾添加
MEDIADBLINK =
(DESCRIPTION =
&n ......
Oracle对表做全表扫描的时候
,会扫描完HWM以下
的数据块。如果某个表delete(delete操作不会降低高水位)了大量数据,那么这时对表做全表扫描就会做很多无用功,扫描了一大堆数据块,最后发现块里面居然没有数据。
通常,在对表做了大批量delete操作之后,就应该马上降低表的高水位,可以使用shrink 命令或者alter&n ......
author:skate
time:2010-05-26
Oracle DBA 笔试题
(答题时间60分钟)
网上看见一篇DBA的面试题,觉得挺实用的,而不像有的面试弄得很虚,很理想化。
Unix/Linux题目
1、如何查看主机cpu,内存、IP和磁盘空间?
2、你常用的进程管理、主机性能察看命令有哪些?
3、建立组dba和该组下用户oracle,默认shell为bash。 ......
create or replace and compile java source named md5util as
import java.security.MessageDigest;
public class MD5Util
{
public static String encrypt(String s)
{
char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', ......
drop table tmp_lzw_3283_tar;
create table tmp_lzw_3283_tar
(
servnumber varchar2(11)
)
;
load data
infile 'tar_3283.txt'
insert into table tmp_lzw_3283_tar
fields terminated by '|'
(
servnumber
)
/*
select count(*),count(distinct servnumber) from tmp_lzw_3283_ta ......