锁表

  1. --oracle锁表
  2. select sess.sid,
  3. sess.serial#,
  4. lo.oracle_username,
  5. lo.os_user_name,
  6. ao.object_name,
  7. lo.locked_mode
  8. from v$locked_object lo,
  9. dba_objects ao,
  10. v$session sess
  11. where ao.object_id = lo.object_id and lo.session_id = sess.sid;

外部加密包

--首先导入外部程序包SM3.jar
--oracle中sm3加密写法
function sm3_crypt (cryptdata IN string) RETURN IS language java name ‘SM3.Encode(java.lang.String) return String’

查看表空间

--查看表空间物理文件的名称及大小
select tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
from dba_data_files
order by tablespace_name;

数据分析

--oralce用指定分隔符处理字段
declare
v_length number;
v_tmp varchar2(10);
v_str varchar2(20) := '12;6;2;5;3';
begin
v_length := length(v_str) - length(replace(v_str, ';', '')) + 1;
for i in 1..v_length loop
select regexp_substr(v_str, '[^;]+', 1, i) into v_tmp from dual;
dbms_output.put_line(v_tmp);
end loop;
end;


--打印错误
dbms_output.put_line(sysdate||':'||vc_log_step||':'||sqlerrm);

--去重
select t2.* from (
select * from (
select t.*,row_number()over(partition by 字段 order by 字段) as rn
from 表名 t) t1 where t1.rn=1) t2; 

--字符串拼接函数
select wm_concat(id) from test_111 --把列变成合并成一个字段
select listagg(id, ',')within group(order by id) as id from test_111;

--相似度比较函数
select UTL_MATCH.edit_distance_similarity(字段1,字段2) from 表名;


--拼接函数
select listagg(字段名,'分隔符') within group(order by 字段) from 表 group by 字段 --类似concat函数

--标准差函数
select stddev(字段名) from 表名;  --越接近0表示列里面的离散程度越小