Skip to content
2153030 edited this page Apr 6, 2021 · 15 revisions

Python

處理小數進位

result['SUM_BONUS_AMT'] = result['SUM_BONUS_AMT'].apply(lambda x: Decimal(str(x)))
sum_bonus = result['SUM_BONUS_AMT'].sum().quantize(Decimal('.0001'),rounding= ROUND_HALF_UP)

Ref:

  1. https://docs.python.org/2/library/decimal.html

指定路徑安裝python package

pip install --target=C:\Users\peter.huang\Anaconda3\Lib\site-packages google-cloud-storage

Oracle

查詢排程

select * from all_scheduler_jobs
  • 查詢該schema下的排程
  • 如果有權限: dba_scheduler_jobs

查看procedure內容

SELECT * FROM all_source WHERE name = 'SP_ETL9_REGULAR_BATCH' ORDER BY TYPE, LINE;

執行procedure

CALL "DW"."SP_STG1_DEPOSIT_RECORD"  (  0, 2 , '2020/04/06-00:00:00', '2020/04/14-00:00:00',0  );

編譯失效,手動編譯

select * from all_objects where status != 'VALID'; --查詢失效物件
EXEC DBMS_UTILITY.compile_schema(schema => 'DW', compile_all => false);

SELECT object_name,
       object_type,
       CASE object_type 
       WHEN 'PACKAGE' THEN 1
       WHEN 'PACKAGE BODY' THEN 2
       WHEN 'TYPE' THEN 1
       WHEN 'TYPE BODY' THEN 2
       ELSE 2
       END AS recompile_order
  FROM   user_objects
  WHERE  object_type IN ('TYPE','TYPE BODY','PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE','TRIGGER','VIEW','MATERIALIZED VIEW','SYNONYM')
  AND    status <> 'VALID'
  ORDER BY 3;

刪除無用session

先查詢V$SESSION,找到JOB的seeion 抓出對應SID跟SERIAL#

select * from V$SESSION where OSUSER = 'peter.huang';
select * from V$SESSION where OSUSER <> 'oracle';

EXEC SYS.KILL_SESSION( SID , SERIAL# );
ALTER SYSTEM KILL SESSION 'SID , SERIAL#';

u can try
-- query current session
select username, sid, serial#, status from v$session where username='DW' and sid in (select sys_context('USERENV','SID') from dual);
-- kill session cmd
EXEC SYS.KILL_SESSION(SID,SERIAL);


dashboard

https://www.datarevenue.com/en-blog/data-dashboarding-streamlit-vs-dash-vs-shiny-vs-voila

Clone this wiki locally