从oracle表中随机取记录,产生随机数和随机字符串
1、从表中随机取记录
select * from (select * from staff order by dbms_random.random)
where rownum < 4
表示从STAFF表中随机取3条记录
2、产生随机数
SELECT DBMS_RANDOM.RANDOM from DUAL;
产生一个任意大小的随机数
SELECT ABS(MOD(DBMS_RANDOM.RANDOM,100)) from DUAL;
产生一个100以内的随机数
SELECT TRUNC(100+900*dbms_random.value) from dual;
产生一个100~1000之间的随机数
SELECT dbms_random.value from dual;
产生一个0~1之间的随机数
SELECT dbms_random.value(10,20) from dual;
产生一个10~20之间的随机数
SELECT dbms_random.normal from dual;
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。
3、产生随机字符串
SELECT dbms_random.string from dual;
返回一个长度达60个字符的随机字符串。 (未试验成功)
select dbms_random.string('P',20) from dual;
第一个参数 P 表示 printable,即字符串由任意可打印字符构成
第二个参数表示返回字符串长度
相关文档:
使用unrecoverable创建表
create table new_emp as select * from emp unrecoverable;
create table new_emp as select * from emp nologging;
推荐使用logging或者nologging.
将表移动到新的数据段或新的表空间
通过移动来实现存储参数的修改
alter table emp move storage(initial 1m next 512k mimexte ......
字段类型
中文说明
限制条件
其它说明
CHAR
固定长度字符串
最大长度2000 bytes
VARCHAR2
可变长度的字符串
最大长度4000 bytes
可做索引的最大长度749
NCHAR
根据字符集而定的固定长度字符串
最大长度2000 bytes
NVARCHAR2
根据字符集而定的可变长度字符串
最大长度4000 bytes
......
max_commit_propagation_delay默认值为700,即7秒(单位0.01s,http://www.orafaq.com/parms/parm1217.htm)。
这个参数应该配置的是RAC(Real Application Cluster)之间同步数据的频率。修改这个参数的好处就不用说了(
本人深受其苦啊
),但是如果走另一个极端,可能会给数据库造成更大的压力
参数指定一个instance ......