Iniciando automaticamente no boot
Para iniciar a instância e o listener durante o boot, basta acrescentar as linhas no fim do arquivo
/etc/rc.d/rc.local:
# Start Oracle Database 11g Express Edition Intance
if [ -x /etc/rc.d/rc.oracle-xe ] ; then
/etc/rc.d/rc.oracle-xe start &
fi
Assim, o Oracle vai sempre iniciar (em segundo plano) durante o boot.
Trocando o terminal do SQL*Plus
Por padrão, o SQL*Plus irá utilizar o xterm como terminal (se chamado via menu de aplicativos). Para alterar, edite o arquivo:
/u01/app/oracle/product/11.2.0/xe/config/scripts/runsqlplus.sh:
Ele estará assim:
#!/bin/bash
if [ -f /usr/bin/gnome-terminal ]
then
/usr/bin/gnome-terminal -t "SQL*Plus" -e "/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh"
elif [ -f /usr/bin/konsole ]
then
/usr/bin/konsole -T "SQL*Plus" -e "/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh"
elif [ -f /usr/bin/xterm ]
then
/usr/bin/xterm -T "SQL*Plus" -n "SQL*Plus" -e "/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh"
fi
Basta trocar o
gnome-terminal pelo seu emulador de terminal favorito (ele tem que ficar antes do xterm):
#!/bin/bash
if [ -f /usr/bin/lxterminal ]
then
/usr/bin/lxterminal -t "SQL*Plus" -e "/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh"
elif [ -f /usr/bin/konsole ]
then
/usr/bin/konsole -T "SQL*Plus" -e "/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh"
elif [ -f /usr/bin/xterm ]
then
/usr/bin/xterm -T "SQL*Plus" -n "SQL*Plus" -e "/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh"
fi
Obs.1: eu estou utilizando o
LXTerminal. Troque pelo seu favorito.
Obs.2: lembre-se de testar o comando antes de inseri-lo aqui. Pois os parâmetros -t "Título da janela" e -e "script" podem variar de terminal para terminal.
Habilitar histórico de comandos
Por padrão (e apenas no
GNU/Linux), o SQL*Plus (e outras ferramentas de linha de comando do Oracle) não possui o histórico de comandos, acessível com as setas pra cima|pra baixo do teclado, e nem é possível editar um comando com as setas esquerda|direita.
Para habilitar, instale o pacote
rlwrap. Ele está disponível via SlackBuilds:
E, edite o seu
.bashrc (não se esqueça de também editar o
.bashrc do usuário oracle) com o comando:
echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bashrc
Para tornar esta modificação válida também quando você chama o SQL*Plus via menu, edite o arquivo:
/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh:
E deixe-o assim:
#!/bin/bash
#
# svaggu 09/28/05 - Creation
#
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export PATH=$ORACLE_HOME/bin:$PATH
/usr/bin/rlwrap sqlplus /nolog @$ORACLE_HOME/config/scripts/conmsg.sql
Ou seja, apenas adicionei "/usr/bin/rlwrap" antes do sqlplus.
Você também pode habilitar este recurso em outras ferramentas:
lsnrctl (listener):
echo "alias lsnrctl='rlwrap lsnrctl'" >> ~/.bashrc
rman (backup):
echo "alias rman='rlwrap rman'" >> ~/.bashrc
Conclusão
Bom, é isso. Dúvidas e sugestões serão bem-vindas.
Até a próxima!
Referências:
Artigo também publicado no
Mundo GNU: