Despre cei meticuloși se spune că dau atenție în mod exagerat unor amănunte care nu întotdeauna sunt importante iar aceste persoane de cele mai multe sunt numiți tipicari, migăloși sau riguroși. Nu știu dacă sunt multi dintre voi care au dorit sa recompileze librăriile Oracle astfel încât la fiecare conectare cu sqlplus sa nu mai fie afișat banner-ul cu opțiunile care deși nu sunt folosite vor fi instalate cel puțin în versiunile Enterprise. Spre exemplu:
[oracle@localhost lib]$ sqlplus system/**** SQL*Plus: Release 12.1.0.2.0 Production on Thu Dec 29 02:48:50 2016 Copyright (c) 1982, 2014, Oracle. All rights reserved. Last Successful login time: Thu Dec 29 2016 02:44:48 -05:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL>
Eu am dorit sa scap de rândul îngroșat de mai sus iar în cele ce urmează veți vedea cat este de simplu de realizat acest lucru.
In primul este nevoie ca instanta sau instantele de Oracle pornite din home-ul ce urmează sa fie alterat vor trebui sa fie oprite. Adică următoarea comanda nu ar trebui sa returneze nimic:
[oracle@localhost opt]$ lsof +D $ORACLE_HOME [oracle@localhost opt]$
Parametrii comenzii make nu ii țin minte fără să mă uit în „ins_rdbms.mk”.
[oracle@localhost lib]$ cd $ORACLE_HOME/rdbms/lib [oracle@localhost lib]$ ls -ltra *.mk -rw-r--r--. 1 oracle oinstall 45241 Jul 7 2014 ins_rdbms.mk -rw-r--r--. 1 oracle oinstall 161441 Jul 7 2014 env_rdbms.mk [oracle@localhost lib]$ vi ins_rdbms.mk ....... olap_off: $(KNLOPT_LOCAL) $(RDBMSLIB)$(OLAP_OFF) $(SILENT)if $(ARPRINT) $(LIBKNLOPT) | $(GREP) '^'$(OLAP_ON) > /dev/null ; then \ $(ECHODO) $(ARDELETE) $(LIBKNLOPT) $(OLAP_ON) ; \ fi $(ARCREATE) $(LIBKNLOPT) $(RDBMSLIB)$(OLAP_OFF) $(RANLIBL) part_on: $(KNLOPT_LOCAL) $(RDBMSLIB)$(PART_ON) $(SILENT)if $(ARPRINT) $(LIBKNLOPT) | $(GREP) '^'$(PART_OFF) > /dev/null ; then \ $(ECHODO) $(ARDELETE) $(LIBKNLOPT) $(PART_OFF) ; \ fi $(ARCREATE) $(LIBKNLOPT) $(RDBMSLIB)$(PART_ON) $(RANLIBL) part_off: $(KNLOPT_LOCAL) $(RDBMSLIB)$(PART_OFF) $(SILENT)if $(ARPRINT) $(LIBKNLOPT) | $(GREP) '^'$(PART_ON) > /dev/null ; then \ $(ECHODO) $(ARDELETE) $(LIBKNLOPT) $(PART_ON) ; \ fi $(ARCREATE) $(LIBKNLOPT) $(RDBMSLIB)$(PART_OFF) $(RANLIBL) dm_on: $(KNLOPT_LOCAL) $(RDBMSLIB)$(DM_ON) $(SILENT)if $(ARPRINT) $(LIBKNLOPT) | $(GREP) '^'$(DM_OFF) > /dev/null ; then \ $(ECHODO) $(ARDELETE) $(LIBKNLOPT) $(DM_OFF) ; \ fi $(ARCREATE) $(LIBKNLOPT) $(RDBMSLIB)$(DM_ON) $(RANLIBL) dm_off: $(KNLOPT_LOCAL) $(RDBMSLIB)$(DM_OFF) $(SILENT)if $(ARPRINT) $(LIBKNLOPT) | $(GREP) '^'$(DM_ON) > /dev/null ; then \ $(ECHODO) $(ARDELETE) $(LIBKNLOPT) $(DM_ON) ; \ fi $(ARCREATE) $(LIBKNLOPT) $(RDBMSLIB)$(DM_OFF) $(RANLIBL) rat_on: $(KNLOPT_LOCAL) $(RDBMSLIB)$(RAT_ON) $(SILENT)if $(ARPRINT) $(LIBKNLOPT) | $(GREP) '^'$(RAT_OFF) > /dev/null ; then \ $(ECHODO) $(ARDELETE) $(LIBKNLOPT) $(RAT_OFF) ; \ fi $(ARCREATE) $(LIBKNLOPT) $(RDBMSLIB)$(RAT_ON) $(RANLIBL) rat_off: rat_off_$(S_RAT_OFF) ......
Cu ajutorul comenzii de mai jos recompilam librăriile Oracle fără următoarele componente: Partitioning, OLAP, Real Application Testing si Data Mining
[oracle@localhost lib]$ which make /bin/make [oracle@localhost lib]$ make -f ins_rdbms.mk olap_off part_off dm_off rat_off ioracle
Acum nu rămâne decât să pornim instanta și să verificăm că acel banner a dispărut:
[oracle@localhost lib]$ sqlplus system/**** SQL*Plus: Release 12.1.0.2.0 Production on Thu Dec 29 03:10:10 2016 Copyright (c) 1982, 2014, Oracle. All rights reserved. Last Successful login time: Thu Dec 29 2016 02:48:50 -05:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production SQL>
Nici prin cap nu mi-a trecut ca se poate modifica si bannerul….. super informatia…. :):):). Well done!