Oracle辅导:Oracle随机函数的调用(1)
简单得说,通过dbms_random包调用随机数的方法大致有4种: 1、dbms_random.normal这个函数不带参数,能返回normal distribution的一个number类型,所以基本上随机数会在-1到1之间。
简单测试了一下,产生100000次最大能到5左右:
SQL> declare
2 i number:=0;
3 j number:=0;
4 begin
5 for k in 1 .. 100000 loop
6 i:= dbms_random.normal;
7 if i > j
8 then j:=i;
9 end if;
10 end loop;
11 dbms_output.put_line(j);
12 end;
13 /
5.15325081797418404136433867107468983182
PL/SQL procedure successfully completed
2、dbms_random.random
这个也没有参数,返回一个从-power(2,31)到power(2,31)的整数值
3、dbms_random.value
这个函数分为两种,一种是没有参数,则直接返回0-1之间的38位小数
SQL > column value format 9.99999999999999999999999999999999999999
SQL > select dbms_random.value from dual;
VALUE
-----------------------------------------
.58983014999643548701631750396301271752
</p> RMAN> SWITCH DATAFILE 6 TO COPY;
datafile 6 switched to datafile copy "+DGROUP1/toasm/datafile/users.265.683431079"
RMAN> SQL 'ALTER DATABASE DATAFILE 6 ONLINE';
RMAN> RECOVER DATAFILE 6;
Starting recover at 06-APR-09
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 06-APR-09
RMAN> SQL 'ALTER DATABASE DATAFILE 6 ONLINE';
sql statement: ALTER DATABASE DATAFILE 6 ONLINE
RMAN> REPORT SCHEMA;
Report of database schema
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 480 SYSTEM *** +DGROUP1/toasm/datafile/system.258.683428337
2 25 UNDOTBS1 *** +DGROUP1/toasm/datafile/undotbs1.260.683428483
3 230 SYSAUX *** +DGROUP1/toasm/datafile/sysaux.259.683428421
4 5 USERS *** +DGROUP1/toasm/datafile/users.262.683428489
5 100 EXAMPLE *** +DGROUP1/toasm/datafile/example.261.683428467
6 10 USERS *** +DGROUP1/toasm/datafile/users.265.683431079
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
2 100 TEMP 32767 +DGROUP1/toasm/tempfile/temp.263.683428909
RMAN>
页:
[1]