| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- SET ECHO OFF
- SET TERMOUT OFF
- SET DEFINE ON
- SET MARKUP HTML OFF
- SET TAB OFF
- SET TRIMOUT ON
- SET TRIMSPOOL ON
- SET PAGESIZE 5000
- SET LINESIZE 300
- SET SERVEROUTPUT ON
- SET SERVEROUTPUT UNLIMITED
- SET FEEDBACK OFF
- SET VERIFY OFF
- SET TERMOUT ON
- define EXPECTED_PDB=0
- define EXPECTED_PDB=&1
- PROMPT db_conn_coll.sql ...
- SET TERMOUT OFF
- spool temp2.sql
- -- Check CDB/PDB BEGIN
- DECLARE
- ERR_C NUMBER := null;
- ERR_M VARCHAR2(500) := '';
- EBS_SCHEMA VARCHAR2(100) := '';
- PDB_EXP_ VARCHAR2(100) := '&&EXPECTED_PDB';
- PDB_CRT_ VARCHAR2(100) := '&&EXPECTED_PDB';
- BEGIN
- BEGIN
- -- Check if this is the expected container (in CDBs)
- select max(sys_context('USERENV', 'CON_NAME')) C1
- into PDB_CRT_
- from V$PARAMETER
- where NAME = 'enable_pluggable_database'
- and VALUE = 'TRUE'
- and '&&EXPECTED_PDB' != '0';
- if PDB_EXP_ != nvl(PDB_CRT_, PDB_EXP_) then
- dbms_output.put_line('SPOOL DB_sql_' || replace(PDB_EXP_, '$', '_') || '_001.log');
- dbms_output.put_line('PROMPT DB: CT-02018: ERROR: Cannot connect user ' || USER || ' to PDB: ' || PDB_EXP_ || '. Still connected to ' || PDB_CRT_ || '.');
- dbms_output.put_line('SPOOL OFF');
- return;
- elsif PDB_CRT_ is not null then
- dbms_output.put_line('PROMPT Connected to PDB: ' || PDB_CRT_);
- end if;
- EXCEPTION
- when others then
- ERR_C := SQLCODE;
- ERR_M := SUBSTR(SQLERRM, 1 , 500);
- dbms_output.put_line('REM CON_NAME CHECK: SQLCODE: ' || to_char(ERR_C) || ': ' || ERR_M);
- END;
- -- Check if DB collection is needed
- if '~' || upper('&&SCRIPT_PRODUCTS') || '~' like '%~DB~%' then
- dbms_output.put_line('PROMPT Collecting database usage information with Review Lite script ...');
- dbms_output.put_line('@ReviewLite.sql');
- dbms_output.put_line('@DBAFUSExtract.sql');
- end if;
- -- Check if this is an EBS database and if EBS collection is needed
- BEGIN
- execute immediate 'select trim(min(decode(OWNER, ''APPS'', '' APPS'', OWNER))) from DBA_OBJECTS a where a.OBJECT_NAME = ''FND_PRODUCT_GROUPS'' and a.OBJECT_TYPE in (''SYNONYM'') and ''~'' || upper(''&&SCRIPT_PRODUCTS'') || ''~'' like ''%~EBS~%''' into EBS_SCHEMA;
- if EBS_SCHEMA is not null then
- dbms_output.put_line('PROMPT Collecting EBS data from SCHEMA [' || EBS_SCHEMA || '] ...');
- dbms_output.put_line('@EBSCollection.sql');
- end if;
- EXCEPTION
- when others then
- ERR_C := SQLCODE;
- ERR_M := SUBSTR(SQLERRM, 1 , 500);
- dbms_output.put_line('REM EBS CHECK: SQLCODE: ' || to_char(ERR_C) || ': ' || ERR_M);
- END;
- END;
- /
- spool off
- show errors
- --PROMPT SCRIPT_SI=[&&SCRIPT_SI]
- SET TERMOUT ON
- --PAUSE Press ENTER >
- @@temp2.sql
|