Configurações e Instalação do Oracle 11g Express Edition no Debian.
- TUDO PELO LINUX
- 20 de out. de 2016
- 11 min de leitura
Instalando no Debian 7.5 (Wheezy)
Obs.: Configure adequadamente seu /etc/apt/sources.list para os repositórios do Debian
# apt-get update # apt-get dist-upgrade # reboot
Instalando as dependências necessárias no Debian 7.5 (Wheezy), exigidas pelo Oracle Database 11g Express Edition:
# apt-get install alien bc libaio1 libaio-dev sysstat unixodbc-dev libelf-dev unzip g++ libstdc++6-4.7-dev libstdc++5 flex build-essential gawk ksh libtool
Atualização pelo de Shell:
# cd /bin # ls -l /bin/sh lrwxrwxrwx 1 root root 4 2008-04-28 19:59 /bin/sh -> dash # ln -sf bash /bin/sh # ls -l /bin/sh lrwxrwxrwx 1 root root 4 2008-05-01 22:51 /bin/sh -> bash
Atualização da configuração dos usuários do sistema :
Algumas modificações ao nível da configuração do sistema nos grupos e usuarios. Adicionando grupos 'oinstall','dba','nobody' e o usuário 'oracle' no Debian 7.5 (Wheezy).
# cd # pwd /root # addgroup oinstall
Adding group 'oinstall' (GID 1001) ... Done.
# addgroup dba Adding group 'dba' (GID 1002) ... Done. # addgroup nobody Adding group 'nobody' (GID 1003) ... Done.
# usermod -g nobody nobody # useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle # passwd oracle
Password changed.
# mkdir /home/oracle # chown -R oracle:dba /home/oracle # addgroup seu_usuario oinstall # addgroup seu_usuario dba # addgroup seu_usuario nobody
Criando links simbólicos: Como o Oracle Database 11 g Express Edition foi feito visando a distribuição Red Hat, o mesmo, tem diretórios diferentes do Debian 7.5 (Wheezy), então, precisa-se criar links simbólicos para que o Oracle Database 11 g Express Edition “enxergue” esses diretórios como se fosse em uma distribuição Red Hat.
# ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib # ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib # ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib # ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib # ln -s /usr/bin/awk /bin/awk # ln -s /usr/bin/rpm /bin/rpm # ln -s /usr/bin/basename /bin/basename # mkdir /etc/rc.d # for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done
Criando diretórios exigidos pelo Oracle Database 11 g Express Edition: Normalmente na instalação do Oracle Database 11 g Express Edition, já se cria o diretório da próxima etapa abaixo, porém, para fins de preventivos, crie o diretório antes de instalá-lo.
# mkdir -p /u01/app/oracle # chown -R oracle:dba /u01
Também precisa-se criar o “/sbin/chkconfig”. O chkconfig é uma ferramenta de linha de comando para manter a hierarquia de diretórios de “/etc/rc[0-6].d”, aliviando os administradores de sistema da tarefa de manipular diretamente as várias ligações simbólicas naqueles diretórios.
# vim /sbin/chkconfig Em seu conteúdo, coloque as seguintes linhas abaixo: #!/bin/bash file=/etc/init.d/oracle-xe if [[ ! `tail -n1 $file | grep INIT` ]]; then echo >> $file echo '### BEGIN INIT INFO' >> $file echo '# Provides: OracleXE' >> $file echo '# Required-Start: $remote_fs $syslog' >> $file echo '# Required-Stop: $remote_fs $syslog' >> $file echo '# Default-Start: 2 3 4 5' >> $file echo '# Default-Stop: 0 1 6' >> $file echo '# Short-Description: Oracle 11g Express Edition' >> $file echo '### END INIT INFO' >> $file fi update-rc.d oracle-xe defaults 80 01
Salve-o e aplique o comando de permissão, abaixo:
# chmod 755 /sbin/chkconfig
Atualização da configuração do sistema no arquivo “/etc/sysctl.conf “: É preciso modificar alguns arquivos sistemas adicionando ao arquivo “/etc/sysctl.conf “ um certo número de parâmetros tal que o tamanho da memória partilhada. Observe bem no arquivo se algumasdessas configurações já existe, para não ter configurações repetidas.
# Configurações para o Oracle Database 11 g Express Edition fs.file-max = 65535 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65535 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144 Integrando as configurações exigidas do Oracle Database 11 g Express Edition ao nível do arquivo “/etc/security/limits.conf ”:
Adicione as seguintes linhas abaixo no arquivo “/etc/security/limits.conf ”.
# Configurações para o Oracle Database 11 g Express Edition oracle soft nproc 2047 oracle hard nproc 16383 oracle soft nofile 1023 oracle hard nofile 65535
Validando os parametros no arquivo “/etc/pam.d/login” , que foram integrados no arquivo “/etc/security/limits.conf ”: Abra o arquivo “/etc/pam.d/login” e valide os parâmetros. (Obs.: Lembre-se de olhar o arquivo antes de inserir as configurações, para não repetir códigos)
# Configurações para o Oracle Database 11 g Express Edition session required /lib/security/pam_limits.so session required pam_limits.so
Geralmente este arquivo não e necessário configurar, pois já está configurado. Aumentando o tamanho da memória swap: Caso sua máquina não possua um tamanho de memória swap que o Oracle Database 11 g Express Edition exige no mínimo (2G), é possível a ampliar o tamanho do swap sem ter que reinstalar o sistema operacional. Neste caso siga os passos a seguir, caso contrário CLIQUE AQUI para pular para a próxima etapa.
O Debian 7.5 (Wheezy) monta a memória compartilhada no diretório /run/shm. Porem, o diretório que o Oracle Database 11 g Express Edition procura para utilizar e o /dev/shm, temos que montá-lo. Verifique onde seu sistema está montando esta área:
root@debian:~# df -k -h Sist. Arq. Tam Usad Dispon. Uso% Montado em rootfs 19G 16G 1,5G 92% / udev 10M 0 10M 0% /dev tmpfs 392M 676K 391M 1% /run /dev/disk/by-uuid/2c5e004f-09ba-4ffd-8bd9-5d4807140324 19G 16G 1,5G 92% / tmpfs 5,0M 0 5,0M 0% /run/lock /dev/sda4 9,2G 5,9G 2,9G 67% /home /dev/sda5 339G 81G 258G 24% /media/Files /dev/sda1 98G 55G 44G 56% /media/Windows tmpfs 1,1G 610M 452M 58% /run/shm root@debian:~#
Repare que o diretório “/dev/shm” não está montado, para montá-lo tem que criar um script que faça esta montagem sempre na inicialização do sistema, vamos aos procedimentos deste script…
# vim /etc/init.d/oracle-shm …apos abrir o documento em branco, em seu conteúdo, coloque o seguinte script:
#!/bin/bash # /etc/init.d/oracle-shm ## case "$1" in start) echo "Starting script /etc/init.d/oracle-shm" # Run only once at system startup if [ -e /dev/shm/.oracle-shm ]; then echo "/dev/shm is already mounted, nothing to do" else rm -f /dev/shm mkdir /dev/shm mount --move /run/shm /dev/shm mount -B /dev/shm /run/shm touch /dev/shm/.oracle-shm fi ;; stop) echo "Stopping script /etc/init.d/oracle-shm" echo "Nothing to do" ;; *) echo "Usage: /etc/init.d/oracle-shm {start|stop}" exit 1 ;; esac # ### BEGIN INIT INFO # Provides: oracle-shm # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Bind /run/shm to /dev/shm at system startup. # Description: Fix to allow Oracle 11g use AMM. ### END INIT INFO
Deve-se agora alterar as permissões do arquivo e fazer com que o sistema operacional execute-o no boot:
# chmod 755 /etc/init.d/oracle-shm # update-rc.d oracle-shm defaults 01 99
Reiniciando a máquina (Obrigatório): E RECOMENTADO que se reinicie a máquina para que as alterações do script de montagem da área de troca de memória(caso tenha feito) entre em vigor, e os suportes dos parâmetros inseridos nas epatas anteriores sejam concluídos.
Download e Instalando o Oracle Database 11 g Express Edition Download do Oracle Database 11 g Express Edition: faça o download no Link:http://www.oracle.com/technetwork/database/databasetechnologies/ express-edition/downloads/index.html, versão RPM. Mova o arquivo ZIP, para o diretório “/opt”:
# cd /opt # unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip # cd Disk1 # alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm oracle-xe_11.2.0-2_amd64.deb generated
Instalando o Oracle Database 11 g Express Edition:
Rode o comando abaixo para instalar o Oracle Database 11 g Express Edition.
# dpkg --install oracle-xe_11.2.0-2_amd64.deb
Apos a instalação o Oracle Database 11 g Express Edition, vai pedir para rodar o comando “/etc/init.d/oraclexe configure”, mais ainda NAO rode, precisa realizar as configurações pós-instalação, prossiga para estas configurações… Configurações pós-instalação do Oracle Database 11 g Express Edition.Especificando seu hostname no arquivo “/etc/hosts”: Apos instalar o Oracle Database 11 g Express Edition, o mesmo “recolhe” o nome do seu hostname nas configurações de seus arquivos. Com isto, o Oracle Database 11 g Express Edition roda dependendo e buscando este hostname no arquivo “/etc/hosts”, caso este arquivo não estiver com seu hostname, o Oracle Database 11 g Express Edition não vai conseguir inicializar uma instância. Então acrescente seu hostname na linha que contem o IP local (127.0.0.1), veja exemplo...
# Interfaces Network Configuration - NetCon version 0.25 # # ====================================================== # # # hosts This file describes a number of hostname-to-address # mappings for the TCP/IP subsystem. It is mostly # used at boot time, when no name servers are running. # On small systems, this file can be used instead of a # "named" name server. Just add the names, addresses # and any aliases to this file... # # By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1 # should NEVER be named with the name of the machine. It causes problems # for some (stupid) programs, irc and reputedly talk. :^) # # For loopbacking. 127.0.0.1 localhost debian # End of hosts. .
..neste “/etc/hosts” esta acrescentado meu hostname, que e “debian”. Configurando “$HOME/.bash_profile”: A configuração do arquivo “$HOME/.bash_profile” e necessária para informarmos os PATH do Oracle Database 11 g Express Edition. Essas configurações apenas serão validas para um único usuário, o que você escolhe. Pode configurar o PATH Oracle Database 11 g Express Edition para TODOS usuários do sistema, inserindo no final do arquivo “/etc/profile”.
export ORACLE_HOME=/u01/app/oracle/product/X.Y.Z/db_home1 export ORACLE_SID=XE export PATH=$PATH:/u01/app/oracle/product/X.Y.Z/db_home1/bin export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/X.Y.Z/db_home1 export ORACLE_OWNR=oracle export PATH=$PATH:$ORACLE_HOME/bin Onde: X.Y.Z e a versão do Oracle Database 11 g Express Edition, exemplo: 11.2.0 Onde: db_home1 e o nome do SID, exemplo: XE Recomendado que faca essas alterações de PATH no usuário padrão e superusuário (root).
Rode o comando abaixo(usuário padrão e superusuário) para as alterações entrarem em vigor:
$ source $HOME/.bash_profile # source $HOME/.bash_profile
Renomear o arquivo “init.ora”: O arquivo “init.ora” armazena os parâmetros de inicialização para “levantar” uma instância Oracle.Através desse arquivo, o DBA pode controlar a memória em seu banco de dados Oracle, atribuindo valores para os parâmetros de memória no arquivo INIT.ORA para o seu sistema. Porem, quando instalamos o Oracle Database 11 g Express Edition no Debian 7.5 (Wheezy), e executamos o comando 'startup' dentro do SQLPLUS, o mesmo ira informar que não encontrou o arquivo “initXE.ora”, para resolver isto, apenas tem que renomear o “init.ora” para “initXE.ora”. (Obs.: Respeite as letras maiúsculas, “XE” e não “xe”). Para isto, veja o precedimento abaixo:
# mv $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/initXE.ora
Configurando a porta do browser, porta do Listener, senha para SYS e SYSTEM do Oracle Database 11 g Express Edition: Antes de começar a configuração, tem que criar dois arquivos que o Oracle Database 11 g Express Edition pede durante a configuração, execução de seu serviço ou encerramento de seu serviço. arquivos são: “/var/lock/subsys/listener ” e o “/var/lock/subsys/oracle-xe”, porém os mesmos estão dentro de uma pasta que não está criada, então para criá-lo faca os procedimentos abaixo:Abra o arquivo “/etc/init.d/oracle-xe” com seu editor preferido, neste caso o “vim”:
# vim /etc/init.d/oracle-xe
Com o “/etc/init.d/oracle-xe” aberto, acrescente as linhas abaixo em seu conteúdo no início do arquivo (depois dos comentários).
# Create /var/lock/subsys/listener and /var/lock/subsys/oracle-xe. # Files required by Oracle during some action to be service (start, stop, restart,configure). if [ ! -d "/var/lock/subsys" ]; then( mkdir /var/lock/subsys if [ ! -f "/var/lock/subsys/oracle-xe" ]; then touch /var/lock/subsys/oracle-xe fi if [ ! -f "/var/lock/subsys/listener" ]; then touch /var/lock/subsys/listener fi )else( if [ ! -f "/var/lock/subsys/oracle-xe" ]; then touch /var/lock/subsys/oracle-xe fi if [ ! -f "/var/lock/subsys/listener" ]; then touch /var/lock/subsys/listener fi )fi # End Depois da edição do arquivo “/etc/init.d/oracle-xe”, agora pode-se começar a configurar o Oracle Database 11g Express Edition, com o comando abaixo:
# /etc/init.d/oracle-xe configure
O Oracle Database 11 g Express Edition realizar perguntas para suas configurações, tais como: Porta para o Oracle Application Express (padrao 8080) Porta para o Oracle Database Listner (padrao 1521) Sua senha para logar-se na base de dados do Oracle Database 11 g Express Edition (obrigatorio) Confirmação da senha. Habilitar inicialização do serviço Oracle Database 11 g Express Edition junto com o boot (padrao y) Se apertar Enter, as configurações padrões iram ser impostas. Se em sua máquina tem um servidor que use a porta 8080, como Apache ou TomCat então escolha outra porta no Oracle Database 11 g Express Edition. Caso queira reconfigurar novamente exclua o arquivo de configuração “/etc/default/oraclexe” e rode o comando acima novamente (/etc/init.d/oracle-xe configure).
O resultado bem-sucedido deve ser igual a este:
root@debian:/home/pelolinux# service oracle-xe restart Shutting down Oracle Database 11g Express Edition instance. Stopping Oracle Net Listener. Starting Oracle Net Listener. Starting Oracle Database 11g Express Edition instance. root@debian:/home/pelolinux# Testando o Oracle Database 11 g Express Edition com SQLPLUS: Apos toda instalação e configuração, chegou a hora de testar este poderoso banco de dados, veja os procedimentos abaixo.
$ cd $HOME pelolinux@debian:~$ sqlplus SYSTEM/oracle@XE; Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production SQL> CREATE USER Pelolinux IDENTIFIED BY Pelolinux; Usuário criado. SQL> GRANT DBA TO Pelolinux; Concessão bem-sucedida. SQL> CREATE TABLESPACE TS_WILLIAM DATAFILE '/u01/app/oracle/oradata/TS_ Pelolinux.dbf' SIZE 64M AUTOEXTEND ON NEXT 1M SEGMENT SPACE MANAGEMENT AUTO; Tablespace criado. SQL> ALTER USER Pelolinux DEFAULT TABLESPACE TS_ Pelolinux TEMPORARY TABLESPACE TEMP; Usuário alterado. SQL> CREATE TABLE tbl_myName( 2 id INTEGER NOT NULL, 3 name VARCHAR(45), 4 PRIMARY KEY (id) 5 ); Tabela criada. SQL> INSERT INTO tbl_myName (id,name) VALUES (1,'My name is Pelolinux '); 1 linha criada. SQL> commit; Commit concluído. SQL> SELECT * FROM tbl_myName; ID NAME ---------- --------------------------------------------- 1 My name is Pelolinux SQL> quit Pelolinux @debian:~$
Configurando o “listener.ora”: Neste momento, seu Oracle Database 11 g Express Edition está rodando normal, pode-se criar usuário, tabelas…etc, ou seja, comandos PL/SQL no SQLPLUS ha vontade, porém, se tentar faze uma aplicação, tipo SQLDeveloper(que será visto no próximo passo), Netbeans conexão com o Oracle Database 11 g Express Edition, provavelmente ira aparecer um erro que está relacionado com o “linester.ora”, arquivo responsável por realizar uma comunicação. Vamos ver como o “linester.ora” deve ficar para que seu Oracle Database 11 g Express Edition faças comunicações com outras aplicações: Abrindo o “listener.ora”:
# vim $ORACLE_HOME/network/admin/listener.ora
Deixo-o dessa maneira:
# listener.ora Network Configuration File: SID_LIST_LISTENER = (SID_LIST = (SID_DESC =
# (SID_NAME = PLSExtProc) (SID_NAME = XE) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
# (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION =
# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) (ADDRESS = (PROTOCOL = TCP)(HOST = debian)(PORT = 1521)) ) ) DEFAULT_SERVICE_LISTENER = (XE)
Explicando:
Comente a linha “(SID_NAME = PLSExtProc)” e adicione outra identica, porém mudando para o nome do seu Database(SID), ou seja, XE: Comente a linha: “(PROGRAM = extproc)” pois com ela o Oracle Database 11 g Express Edition não consegue reconhecer quaisquer conexão vinda de um aplicativo. Comenta a linha: “(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))”, pois ela e referente a conexão do tipo IPC, levando em consideração que suas conexões com o Oracle Database 11 g Express Edition seja do tipo TCP.
Instalando o SQLDeveloper:
A instalação do SQLDeveloper e opcional, mais neste caso prefiro usa-lo do que o Oracle Application Express através do Browser, então, instale o SQLDeveloper para realizar gerenciamento de seus Scripts SQL , a não ser que prefira o “velho” SQLPLUS na console ou o próprio Oracle Application Express, que não tem um editor SQL amigável. :DO SQLDeveloper e uma ferramenta para gerenciadores de banco de dados, quanto para desenvolvedores profissionais, e suporta outros Banco de Dados, como MySQL.Faça o download no site da Oracle com o link abaixo: Download link: http://www.oracle.com/technetwork/developer-tools/sqldeveloper/ downloads/index.html Apos realizar o download do arquivo RPM, faça a instalação do mesmo convertendo-o para DEB através do “alien”, como no exemplo abaixo:
# cd $HOME/Downloads # alien --scripts sqldeveloper-4.0.2.15.21-1.noarch.rpm sqldeveloper-4.0.2.15.21-1.noarch.deb generated
# dpkg --install sqldeveloper-4.0.2.15.21-1.noarch.deb ...
sai do modo 'root' na console, e execute o comando para iniciar o SQLDeveloper:
$ sqldeveloper
…neste momento, o SQLDeveloper ira pedir para que você edite o arquivo de configuração dela, informando o diretório raiz do java-jdk. O Local deste arquivo será mostrado na console. Apenas de um Ctrl+C para cancelar, edite o arquivo e rode novamente o comando acima como usuário padrão, mas antes, vamos a configuração desde arquivo. Geralmente este arquivo de configuração e criado no diretório (ocultadamente) raiz do usuário que executou o SQLDeveloper. Um exemplo:
# vim /home/seu_usuario.sqldeveloper/versao/product.conf
Ao abri-lo, na linha “SetJavaHome”, informe o PATH raiz do Java JDK, exemplo: SetJavaHome /usr/lib/jvm/java-1.7.0-openjdk-amd64/ Com essas configurações seu SQLDeveloper ira abrir normalmente. Lembrando, que cada usuário que iniciar o SQLDeveloper, tem que informar o PATH raiz do JAVA JDK no arquivo “product.conf” gerado na pasta raiz do usuário que o executou. Se preferir usar o gerenciador de base de dados atraves do browser, execute o script abaixo no terminal:
$ Pelolinux@debian:~$ /u01/app/oracle/product/11.2.0/xe/config/scripts/gettingstarted.sh
logue com usuário master (SYSTEM ou SYS) e sua senha. Pode-se abrir tambem, com o atalho que o Oracle Database 11 g Express Edition criar no Desktop, ou no menu de seu Debian.Nome do Atalho: Get Started
Remover Oracle Database 11 g Express Edition Completamente: Além de remover o Oracle Database 11 g Express Edition com o DPKG, tem que remover manualmente os arquivos de configuração que não são removidos. Veja os comandos necessários abaixo, para ter uma remoção do Oracle Database 11 g Express Edition completa (nesta ordem), ou então pode-se criar um script com esses comandos. Obs.: Rodar os comandos abaixo com superusuário (root).
service oracle-xe stop dpkg --remove oracle-xe dpkg --purge oracle-xe rm -rf /u01 rm /sbin/chkconfig userdel -r oracle groupdel dba groupdel oinstall groupdel nobody rm /etc/oratab rm /etc/default/oracle-xe rm /lib/libgcc_s.so.1 rm /usr/lib/libc_nonshared.a rm /usr/lib/libpthread_nonshared.a rm /usr/lib/libstdc++.so.6 rm /bin/awk rm /bin/rpm rm /bin/basename rm -rf /etc/rc.d ln -sf bash /bin/sh rm -rf /var/lock/subsys update-rc.d oracle-shm remove rm /etc/init.d/oracle-shm …no arquivo “$HOME/.bash_profile” (ou no arquivo “/etc/profile”) remova também os PATH (variáveis de ambiente) que foram inseridos.
Esta documentação foi realizada na base de pesquisas na internet.
Autor: William da Costa Canin.
Criando com: LibreOffice Writer.
Comments