Feeds:
Posts
Comentários

Posts Tagged ‘Ubuntu’

Quando um usuário é criado, o Ubuntu automaticamente associa o shell /bin/sh como default para o novo usuário.

Para alterar o shell default há duas maneiras.

1- Use o comando chsh

Quando logado com o usuário novo, digite chsh

O Ubuntu pedirá a senha do usuário e em seguida aparecerá um prompt para o novo shell a ser usado.

Changing the login shell for oracle
Enter the new value, or press ENTER for the default
    Login Shell [/bin/sh]:
Para mudar para bash, apenas digite /bin/bash

 

2- Altere o bash default em /etc/passwd

Para tal, deverá ter permissão de root e usar um editor de texto para modificar o arquivo.

sudo vi /etc/passwd

Busque pela linha com o novo usuário no arquivo e altere o último parâmetro que é o de default shell.

oracle:x:1001:1001::/home/oracle:/bin/sh

Altere para

oracle:x:1001:1001::/home/oracle:/bin/bash

Salve o arquivo e pronto. Quando logar com o usuário novo estará usando o shell especificado.

Anúncios

Read Full Post »

If you are having problems with your wifi Broadcom bcm4311 drivers as I did, you may follow these steps below.

  • Verify your BCM Netwok Controller:

lspci | grep BCM

  • If you have package bcmwl-kernel-source installed, it will be necessary to remove it:

sudo apt-get remove bcmwl-kernel-source

  • Install firmware-b43-installer and the b43-fwcutter packages:

sudo apt-get install firmware-b43-installer b43-fwcutter

  • Verify if your bcm hardware is blacklisted. Run the command below:

cat /etc/modprobe.d/* | egrep ‘bcm’

  • If you see ‘blacklist bcm43xx’ there, it means its blacklisted.
  • Remove it from blacklist by editing the conf file

sudo gedit /etc/modprobe.d/blacklist.conf

  • Comment the line putting a # in front of the line: blacklist bcm43xx. Save the file.
  • Reboot your pc.
  • Confirm your wifi is not blocked.

rfkill list all

Read Full Post »

Recentemente, eu decidi estudar administração de banco de dados Oracle. Como primeiro passo, resolvi instalar o Oracle 11g em minha máquina que roda a versão do Ubuntu 11.10 Oneiric 32bits. Não foi uma tarefa simples, e exigiu muitas buscas por blogs e fóruns. Neste post irei descrever os passos que segui para instalar o software do banco com sucesso em minha máquina.

Inicialmente, já vale lembrar que o Ubuntu não é suportado pela Oracle. Portanto, não é recomendável usá-lo em sistemas reais, em produção, etc., já que a Oracle não irá oferecer suporte se o banco estiver instalado sobre o Ubuntu. Esta informação é encontrada no Installation Guide do link http://docs.oracle.com/cd/E11882_01/install.112/e24322/toc.htm. Que aliás, utilizei para obter mais informações da instalação. Mas no meu caso, só resolvi instalar o banco para fins de estudo mesmo.

É bom verificar os requisitos de hardware. A saber, a configuração mínima recomendada é:

■ 1 GB RAM
■ 1.5 GB swap space
■ 400 MB no TEMP (se houver uma partição TEMP, senão, considere o sistema de arquivo do root)
■ 1.5 GB–3.5 GB para a partição onde ficará o Oracle Home
■ 2.4 GB para o flash recovery area
■ 1 GHz CPU

Lógico que não é necessário levar isso à risca. Você pode usar o comando free para ver quanto de espaço possui no sistema de arquivo e na partição de swap e também o df -h para ver o espaço em cada partição. Eu mesmo possuo um swap de 1GB somente.

Dado que haja espaço suficiente, pode-se seguir com os passos da instalação.

1- Fazer o download do banco no site da oracle (será necessário se cadastrar).

Baixei a versão Enterprise para Linux x86.

2- Atualize sua lista de pacotes e faça um upgrade para atualizar seus pacotes já instalados (esteja logado como root).

apt-get update
apt-get upgrade

3- Em seguida, alguns pacotes deverão ser instalados. Use o comando apt-get install <nome_do_pacote>.

  • alien
  • binutils
  • build-essential
  • gawk
  • gcc-multilib
  • ksh
  • libaio1
  • libc6
  • libc6-dev
  • libmotif4
  • libstdc++5
  • libtool
  • make
  • rpm
  • sysstat
  • unixodbc
  • unzip

O comando abaixo pode ser executado para que se obtenha uma lista de todos os pacotes instalados em seu sistema em um arquivo nomeado pacotes.txt.

dpkg –get-selections >> pacotes.txt

Também é necessário ter pelo menos o java run-time instalado. Você pode obter o java run-time neste link ou mesmo instalar o pacote openjdk executando apt-get install openjdk-7-jre.

4-  É comum a prática de criar um usuário com o qual é instalado o banco de dados. Também é criado o grupo dba, que consiste nos usuários que serão administradores do banco, e o grupo oinstall, que são os usuários que fazem parte da instalação. Abaixo foram criados os grupos e o usuário oracle, que terá como grupo primário o oinstall. Ao final, é criada a senha do usuário oracle.

sudo groupadd oinstall
sudo groupadd dba
sudo groupadd nobody
sudo useradd -m oracle -g oinstall -G dba
sudo passwd oracle

5- Alguns parâmetros do Kernel devem ser atualizados. Eu mesmo só tive problemas com 1 deles, que é o net.ipv4.ip_local_port_range que tive que alterar para 65500. No entanto, coloquei aqui uma lista que obtive de fóruns e outros blogs.

Para tal execute o comando como root:

sudo vi /etc/sysctl.conf

Altere os seguintes parâmetros no arquivo

kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=65500
fs.aio-max-nr=1048576
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586

Recarregue:

sudo sysctl -p

6- Deverá ser criado o diretório onde o banco será instalado. Esse consistirá nas variáveis de ambiente ORACLE_HOME e ORACLE_BASE definidas posteriormente. O ORACLE_BASE é o diretório onde ficam todos os produtos instalados pertencentes à Oracle. Cada produto instalado terá sua própria ORACLE_HOME, abaixo do ORACLE_BASE. Aqui utilizei os seguintes diretórios

ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

Portanto, rodei o seguinte comando:

sudo mkdir -p /u01/app/oracle

Enfim, define-se as permissões para o diretório criado.

sudo chown -R oracle:oinstall /u01
sudo chmod -R 775 /u01

7- Agora será descompactado os arquivos de instalação.

sudo mkdir /ora_install
sudo mv linux_11gR2_database_* /ora_install
cd /ora_install
sudo unzip linux_11gR2_database_1of2.zip
sudo unzip linux_11gR2_database_2of2.zip
sudo chown -R oracle:oinstall /ora_install

 8- Antes de iniciar a instalação, os seguintes comandos tiveram que ser executados para corrigir links de arquivos em pastas diferentes.

ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/libpthread_nonshared.a
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/libc_nonshared.a
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/awk /bin/awk
ln -s /bin/lib/libgcc_s.so.1 /lib/libgcc_s.so
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so.1
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so.6

Atenção: para ubuntu 64bit, execute abaixo.

ln -s /usr/lib /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib/
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/awk /bin/awk
ln -s /bin/lib/libgcc_s.so.1 /lib/libgcc_s.so
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib

Reinicie sua máquina antes de iniciar o próximo passo.

9- Execute o comando xhost + para dar acesso a saída de aplicações gráficas à todos os usuários. Então, altere o RunLevel para 3. Em seguida, logar como usuário oracle e executar o installer. A variável DISPLAY deve ser iniciada antes para o instalador saber o terminal que o usuário deseja que a janela de instalação seja exibida.

sudo xhost +
sudo init 3
su oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export DISPLAY=:0.0
cd /ora_install/database
./runInstaller

10- A janela do instalador deverá ser aberta. Irei exibir aqui somente algumas opções que escolhi na instalação.

Note que ainda tive reclamações do instalador de que o tamanho do swap era pequeno. Também dizia que alguns pacotes não estavam instalados. Simplesmente ignorei esses e segui em frente.

11- Correção dos erros.

Essa parte que foi complicada. Esses errors ocorrem por causa de uma mudança na shared library links do gcc que foi introduzida no Ubuntu 11.

Eu fui corrigindo os erros conforme ocorriam. Sempre que surgia um erro, eu checava o log da instalação acusado na mensagem de erro e também o log do make em /u01/app/oracle/product/11.2.0/dbhome_1/install/make.log.

O primeiro erro foi o abaixo.

Para corrigir, eu abri outra janela do terminal e executei:.

sudo vi /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

substitui a linha:

$(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL)

por:

$(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL) -lnnz11

Feito e salvo, voltei na tela de erro e cliquei em Repetir.

Em seguida, outra mensagem de erro apresentada na figura abaixo.

Para este, consultei o $ORACLE_HOME/install/make.log várias vezes até corrigir o erro por completo e passar deste ponto. A mensagem de erro do instalador era sempre a mesma, mas conforme eu ia corrigindo, o log do make apresentava onde estava o novo erro.

Os passos seguidos foram:

sudo vi $ORACLE_HOME/rdbms/lib/env_rdbms.mk

substituir

KFED_LINKLINE=$(LINK) $(S0MAIN) $(SSKFEDED) $(SKFEDPT)  \

por

KFED_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFEDED) $(SKFEDPT)  \

substituir

KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) $(KFODOBJ) \

por

KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFODED) $(SKFODPT) $(KFODOBJ) \

substituir

KFNDG_LINKLINE=$(LINK) $(S0MAIN) $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \

por

KFNDG_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \

substituir

AMDU_LINKLINE=$(LINK) $(S0MAIN) $(SSKFMUED) $(SKFMUPT) \

por

AMDU_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFMUED) $(SKFMUPT) \

substituir

ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG) \ $(SPOBJS) $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \

por

ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG) \ $(SPOBJS) -Wl,--no-as-needed $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \

no arquivo /bin/genorasdksh

sudo vi $ORACLE_HOME/bin/genorasdksh

substituir

$LD $LD_RUNTIME $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \

por

$LD $LD_RUNTIME -Wl,--no-as-needed $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \

no arquivo /srvm/lib/ins_srvm.mk

sudo vi $ORACLE_HOME/srvm/lib/ins_srvm.mk

substituir

GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) \ $(OCRLIBS_DEFAULT) $(LLIBCLNTSH) $(LINKLDLIBS)

por

GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) -Wl,--no-as-needed \ $(OCRLIBS_DEFAULT) $(LLIBCLNTSH) $(LINKLDLIBS)

Por último, tive o erro abaixo.

Este no arquivo /network/lib/env_network.mk.

sudo vi $ORACLE_HOME/network/lib/env_network.mk

substituir

TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) $(LINKTTLIBS) $(LLIBONS) \

por

TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed $(LINKTTLIBS) $(LLIBONS) \

Feito isso a instalação terminou como bem-sucedida.

Até o momento já criei banco, subi o listener, fiz o startup do banco, iniciei o Enterprise Manager, conectei por sqlplus e sqldeveloper e nenhum problema!

 
Fontes:
http://mikesmithers.wordpress.com/2010/03/14/installing-oracle-11gr2-on-ubuntu-9-10/
http://barrasbin.wordpress.com/2011/05/09/ubuntu-10-10-64-bits-oracle-11g-r2-64-bits/
https://forums.oracle.com/forums/thread.jspa?threadID=1091616
https://forums.oracle.com/forums/thread.jspa?threadID=2301639
http://blog.arkzoyd.com/2011/11/oracle-database-11g-and-ubuntu-1110.html 
http://www.pythian.com/news/13291/installing-oracle-11gr2-enterprise-edition-on-ubuntu-10-04-lucid-lynx/

Read Full Post »