--- gitea: none include_toc: true --- # Oracle DB ## search for string in entire set of tables of a db ``` sql SET SERVEROUTPUT ON SIZE 100000 DECLARE match_count INTEGER; BEGIN FOR t IN (SELECT owner, table_name, column_name FROM all_tab_columns WHERE owner = 'APLKN_ARCHV_SRG' and data_type LIKE '%CHAR%' AND table_name like 'TB%') LOOP EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || t.owner || '.' || t.table_name || ' WHERE '||t.column_name||' like :1' INTO match_count USING '%Schrank ganz hinten%'; IF match_count > 0 THEN dbms_output.put_line( t.owner ||' --- '||t.table_name ||' --- '||t.column_name||' --- '||match_count ); END IF; END LOOP; END; ``` or, without owner: ``` sql SET SERVEROUTPUT ON SIZE 100000 DECLARE match_count INTEGER; BEGIN FOR t IN (SELECT TABLE_NAME, COLUMN_NAME FROM all_tab_columns WHERE data_type LIKE '%CHAR%' AND TABLE_NAME LIKE 'TB%') LOOP EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || t.TABLE_NAME || ' WHERE '||t.COLUMN_NAME||' like :1' INTO match_count USING 'Conclusion of Peace between Russia and Esthonia%'; IF match_count > 0 THEN dbms_output.put_line( t.TABLE_NAME ||' --- '||t.COLUMN_NAME||' --- '||match_count ); END IF; END LOOP; END; ``` ## get physical storage place of archval description 88176 ``` sql SELECT tbs_bhltn.bhltn_def_stand_ort_cd FROM APLKN_ARCHV_SRG.tbs_vrzng_enht a LEFT OUTER JOIN APLKN_ARCHV_SRG.tbs_bhltn_vrzng_enht tbs_bhltn_vrzng_enht ON a.vrzng_enht_id = tbs_bhltn_vrzng_enht.vrzng_enht_id INNER JOIN APLKN_ARCHV_SRG.tbs_bhltn tbs_bhltn ON tbs_bhltn.bhltn_id = tbs_bhltn_vrzng_enht.bhltn_id WHERE a.vrzng_enht_id = 88176; ``` ## "limit" in oracle ``` sql select * from ( SELECT * FROM APLKN_ARCHV_SRG.TBS_GSFT_OBJ_DTL WHERE MEMO_TXT LIKE '%Schrank ganz hinten%'; ) where ROWNUM <= number; ``` ## show instance name (SID) ```sql select sys_context('userenv','instance_name') from dual; ``` ## show port and other connection params ``` sql select * from v$listener_network; ``` ## show tables ``` sql SELECT owner, table_name FROM all_tables; ``` ## get all tables with col name xy ``` sql select table_name from all_tab_columns -- or: dba_tab_columns where column_name like '%GSFT_OBJ_TYP_ID%'; ``` ## get all physical storage ``` sql SELECT tbs_bhltn.* FROM tbs_bhltn WHERE rownum <= 10; ``` ## sqlplus ### sql file in sqlplus ``` SQL > @/oracle/scripts/script.sql ```