|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +SQL_SCRIPT="OCI_APEX_install.sql" |
| 4 | + |
| 5 | +echo " |
| 6 | +prompt Converted/Consolidated SQL Script for APEX Instance on OCI |
| 7 | +
|
| 8 | +ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS'; |
| 9 | +
|
| 10 | +prompt |
| 11 | +prompt Confirm/Create odbcapture_installation_logs Table |
| 12 | +declare |
| 13 | + jnk number := 0; |
| 14 | + procedure run_sql (in_sql in varchar2) is begin |
| 15 | + dbms_output.put_line(in_sql || ';'); |
| 16 | + execute immediate in_sql; |
| 17 | + exception when others then |
| 18 | + dbms_output.put_line('-- ' || SQLERRM || CHR(10)); |
| 19 | + end run_sql; |
| 20 | +begin |
| 21 | + begin |
| 22 | + execute immediate 'insert into odbcapture_installation_logs(load_dtm, build_type, file_name)' || |
| 23 | + ' values(sysdate, ''Test'', ''Test'')'; |
| 24 | + rollback; |
| 25 | + jnk := 1; |
| 26 | + exception when others then |
| 27 | + if SQLCODE != -942 -- Table or view does not exist |
| 28 | + then |
| 29 | + dbms_output.put_line('odbcapture_installation_logs table: ' || SQLERRM); |
| 30 | + end if; |
| 31 | + jnk := -1; |
| 32 | + end; |
| 33 | + if jnk = -1 |
| 34 | + then |
| 35 | + run_sql('create table odbcapture_installation_logs' || CHR(10) || |
| 36 | + ' (load_dtm date' || CHR(10) || |
| 37 | + ' ,build_type varchar2(10)' || CHR(10) || |
| 38 | + ' ,file_name varchar2(512)' || CHR(10) || |
| 39 | + ' ,contents clob)'); |
| 40 | + run_sql('comment on column odbcapture_installation_logs.load_dtm is ''Date/Time the installation log file was loaded.'''); |
| 41 | + run_sql('comment on column odbcapture_installation_logs.build_type is ''Type of Build (from BUILD_CONF).'''); |
| 42 | + run_sql('comment on column odbcapture_installation_logs.file_name is ''Name of installation log file.'''); |
| 43 | + run_sql('comment on column odbcapture_installation_logs.contents is ''Contents/Text of the installation log file.'''); |
| 44 | + run_sql('comment on table odbcapture_installation_logs is ''ODBCAPTURE installation log files.'''); |
| 45 | + run_sql('grant select on odbcapture_installation_logs to public'); |
| 46 | + run_sql('create public synonym odbcapture_installation_logs for odbcapture_installation_logs'); |
| 47 | + end if; |
| 48 | +end; |
| 49 | +/" > "${SQL_SCRIPT}" |
| 50 | + |
| 51 | +for INSTALL_SELECT in 'grbsrc' 'grbras' 'grbsdo' 'grbxrep' 'grbdat' 'grbtst' 'grbtjsn' 'grbtsdo' 'grbtctx' 'grbtdat' |
| 52 | +do |
| 53 | + cat "../${INSTALL_SELECT}/install_sys.sql" \ |
| 54 | + "../${INSTALL_SELECT}/install_SYSTEM.sql" \ |
| 55 | + "../${INSTALL_SELECT}/install_${INSTALL_SELECT}.sql" | |
| 56 | + while IFS="" read -r MAIN_LINE |
| 57 | + do |
| 58 | + if [ "${MAIN_LINE:0:9}" = '@dbi.sql ' ] |
| 59 | + then |
| 60 | + set ${MAIN_LINE} # Parses "MAIN_LINE" into command line parameters like $1 |
| 61 | + DBI_FILENAME="${2//\"/}" |
| 62 | + echo "" |
| 63 | + echo "prompt ============================================================" |
| 64 | + echo "prompt Running: ${INSTALL_SELECT} ${DBI_FILENAME}" |
| 65 | + echo "prompt ============================================================" |
| 66 | + if [ "${DBI_FILENAME: -5}" = '.cldr' ] |
| 67 | + then |
| 68 | + SCHEMA_NAME="$(dirname "${DBI_FILENAME}")" |
| 69 | + TABLE_NAME="$(basename "${DBI_FILENAME/[.]cldr/}")" |
| 70 | + CSV_FILENAME="../${INSTALL_SELECT}/${DBI_FILENAME/[.]cldr/.csv}" |
| 71 | + cat "../${INSTALL_SELECT}/${DBI_FILENAME}" | |
| 72 | + while IFS="" read -r CLDR_LINE |
| 73 | + do |
| 74 | + if [ "${CLDR_LINE:0:12}" = 'host sqlldr ' ] |
| 75 | + then |
| 76 | + echo "" |
| 77 | + echo "prompt Translating ${CSV_FILENAME} to 'INSERT INTO'" |
| 78 | + echo "" |
| 79 | + sed -e '1d' \ |
| 80 | + -e '1,$s/\r$//1' \ |
| 81 | + -e "1,\$s/'/''/g" \ |
| 82 | + -e '1,$s/""/||/g' \ |
| 83 | + -e "1,\$s/\"/'/g" \ |
| 84 | + -e '1,$s/[|][|]/"/g' \ |
| 85 | + -e '1,$s/^,/NULL,/1' \ |
| 86 | + -e '1,$s/[,][,]/,NULL,/g' \ |
| 87 | + -e '1,$s/[,][,]/,NULL,/g' \ |
| 88 | + -e '1,$s/,$/,NULL/1' \ |
| 89 | + < "${CSV_FILENAME}" | |
| 90 | + while IFS="" read -r CSV_LINE |
| 91 | + do |
| 92 | + echo "insert into \"${SCHEMA_NAME}\".\"${TABLE_NAME}\" ($(head -1 "${CSV_FILENAME}"))" |
| 93 | + echo " values (${CSV_LINE});" |
| 94 | + echo "" |
| 95 | + done |
| 96 | + else |
| 97 | + echo "${CLDR_LINE/'&_RC.'/'0'}" |
| 98 | + fi |
| 99 | + done |
| 100 | + echo "commit;" |
| 101 | + elif [ "${DBI_FILENAME: -4}" = '.sql' ] |
| 102 | + then |
| 103 | + grep -Ev -e '^spool ' \ |
| 104 | + -e '^set linesize ' \ |
| 105 | + -e '^set trimspool ' \ |
| 106 | + -e '^set termout ' \ |
| 107 | + -e '^set sqlprefix ' \ |
| 108 | + < "../${INSTALL_SELECT}/${DBI_FILENAME}" |
| 109 | + else |
| 110 | + cat < "../${INSTALL_SELECT}/${DBI_FILENAME}" |
| 111 | + fi |
| 112 | + else |
| 113 | + echo "${MAIN_LINE}" | |
| 114 | + grep -Ev -e '^spool ' \ |
| 115 | + -e '^set linesize ' \ |
| 116 | + -e '^set trimspool ' \ |
| 117 | + -e '^set termout ' \ |
| 118 | + -e '^set sqlprefix ' \ |
| 119 | + -e '^define INSTALL_SYSTEM_CONNECT[ =]' \ |
| 120 | + -e '^define TOP_PDB_SYSTEM[ =]' |
| 121 | + fi |
| 122 | + done | sed -e '1,$s/^[@]/--@/1' >> "${SQL_SCRIPT}" |
| 123 | + echo "prompt Update ODBCAPTURE_INSTALLATION_LOGS |
| 124 | +insert into odbcapture_installation_logs(load_dtm, build_type, file_name) |
| 125 | + values(sysdate, '${INSTALL_SELECT}', '${SQL_SCRIPT}'); |
| 126 | +commit;" >> "${SQL_SCRIPT}" |
| 127 | +done |
| 128 | + |
| 129 | +# |
| 130 | +# Add All Finalize Scripts |
| 131 | +# |
| 132 | +( |
| 133 | + cat < "../grb_linked_install_scripts/fix_invalid_public_synonyms.sql" |
| 134 | + sed -e "1,\$s/&1[.]/'ODBCAPTURE','ODBCTEST'/g" \ |
| 135 | + < "../grb_linked_install_scripts/compile_all.sql" |
| 136 | + sed -e "1,\$s/&1[.]/ENABLE/g" \ |
| 137 | + -e "1,\$s/&2[.]/'ODBCAPTURE','ODBCTEST'/g" \ |
| 138 | + < "../grb_linked_install_scripts/alter_foreign_keys.sql" |
| 139 | + sed -e "1,\$s/&1[.]/ENABLE/g" \ |
| 140 | + -e "1,\$s/&2[.]/'ODBCAPTURE','ODBCTEST'/g" \ |
| 141 | + < "../grb_linked_install_scripts/alter_triggers.sql" |
| 142 | + sed -e "1,\$s/&1[.]/'ODBCAPTURE','ODBCTEST'/g" \ |
| 143 | + < "../grb_linked_install_scripts/update_id_sequences.sql" |
| 144 | +# sed -e "1,\$s/&1[.]/ENABLE/g" \ |
| 145 | +# -e "1,\$s/&2[.]/'ODBCAPTURE','ODBCTEST'/g" \ |
| 146 | +# < "../grb_linked_install_scripts/alter_queues.sql" |
| 147 | +# sed -e "1,\$s/&1[.]/ENABLE/g" \ |
| 148 | +# -e "1,\$s/&2[.]/'ODBCAPTURE','ODBCTEST'/g" \ |
| 149 | +# < "../grb_linked_install_scripts/alter_scheduler_jobs.sql" |
| 150 | +) | grep -Ev -e '^spool ' \ |
| 151 | + -e '^set linesize ' \ |
| 152 | + -e '^set trimspool ' \ |
| 153 | + -e '^set termout ' \ |
| 154 | + -e '^set sqlprefix ' | |
| 155 | + sed '1,$s/^[@]/--@/1' >> "${SQL_SCRIPT}" |
0 commit comments