Instalação do Oracle XE no Mandriva One Linux
Autor: Danilo Cunha | Publicado: 2009-09-05T17:15:00-07:00

O presente artigo demonstra como instalar o Banco de Dados Oracle XE em um amibiente Linux, a distribuição escolhida é o Mandriva Linux. Após a instalação do Oracle XE demonstra-se a criação de uma base de dados e são inseridos algumas linhas na mesma. Adota-se o #  para representar as ações feitas como super usuário – root e $ para as ações feitas com os outros usuários do sistema operacional. Foram baixados e instalados os seguintes pacotes:  1º libaio1-0.3.107-2mdv2009.1.i586.rpm 2º oracle-xe-univ-10.2.0.1-1.0.i386.rpm 3º oracle-instantclient11.1-basiclite-11.1.0.7.0-1.i386.rpm   O pacote libaio1 é uma dependência para poder instalar corretamente o o pacote oracle-xe, em alguns sistemas operacionais ele já pode estar instalado, verifica-se a existência do mesmo no sistema operacional com o seguinte comando de linha: # rpm -qa | grep libaio. Para instalar os pacotes baixados usa-se o seguinte comando:  # rpm -ivh libaio1-0.3.107-2mdv2009.1.i586.rpm # rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm # rpm -ivh oracle-instantclient11.1-basiclite-11.1.0.7.0-1.i386.rpm   O pacote  oracle-xe-univ é o banco de dados em si, já o pacote  oracle-instantclient11 é o cliente (sqlplus – cliente linha de comando) através do qual acessa-se o banco. Durante a instalação do  oracle-xe-univ defini-se por padrão porta http como 8080, listener porta como 1521, senha do usuário do banco e autostart ao iniciar o sistema operacional.  Após a instalação dos pacotes definine-se as variáveis de ambiente. Pode-se fazer de duas maneiras, definí-las em memória exportando o seu valor através da linha de comando ou salvar as mesmas linhas no arquivo /home/oracle/.bash_profile. A melhor prática é salvar no .bash_profile do usuário oracle, definido:  # vi /home/oracle/.bash_profile   ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server  export ORACLE_HOME  ORACLE_BASE=/usr/lib/oracle  export ORACLE_BASE  export LD_LIBRARY_PATH=$ORACLE_HOME/lib  export PATH=$ORACLE_HOME/bin:$PATH  Salva e sai.   Deve-se criar os seguintes diretórios para localização de arquivos, com os comandos: # mkdir admin # cd admin # mkdir asdb # cd asdb # mkdir adhoc adump bdump cdump flash_recovery_area udump exp pfile    Como resultados tem-se: $ORACLE_BASE/admin//, nome_do_banco = asdb. Também criar diretórios para armazená-los, com os comandos:  # mkdir oracle # cd oracle # mkdir oradata # cd oradata # mkdir asdb # cd asdb  Tem-se /usr/lib/oracle/oradata/asdb, onde:  /usr/lib/oracle/oradata/asdb -> Diretório para armazenamento dos arquivos do respectivo banco de dados. /usr/lib/oracle/oradata -> Diretório para armazenamento de dados, segundo o padrão OFA. /usr/lib/oracle/ -> Diretório que específica o software. /usr/lib -> File System com capacidade suficiente para criar o banco de dados.   No diretório /usr/lib/oracle/admin/asdb/pfile um arquivo init.ora, neste caso fica initasdb.ora, com o seguinte conteúdo:  control_files              = (/usr/lib/oracle/oradata/asdb/control01.ctl) db_name                    = asdb db_domain                  = world log_archive_dest           = 'LOCATION=LOCATION=USE_DB_RECOVERY_FILE_DEST' db_block_size              = 2048   pga_aggregate_target       = 50M processes                  = 300 sessions                   = 12 open_cursors               = 80 undo_management            = AUTO undo_tablespace            = UNDOTBS compatible                 = 10.1.0.0.0 sga_target                 = 200M nls_language               = AMERICAN nls_territory              = AMERICA db_recovery_file_dest      = /usr/lib/oracle/admin/asdb/flash_recovery_area db_recovery_file_dest_size = 1G background_dump_dest       = /usr/lib/oracle/admin/asdb/bdump core_dump_dest             = /usr/lib/oracle/admin/asdb/cdump user_dump_dest             = /usr/lib/oracle/admin/asdb/udump audit_file_dest            = /usr/lib/oracle/admin/asdb/adump   Ressalta-se que estes valores são válidos para o computador no qual o trabalho foi desenvoldido.     Em seguida cria-se o script de inicialização do banco de dados. No diretório /usr/lib/oracle/admin/asdb/adhoc/ cria-se um arquivo.sql, neste caso create_db.sql, com o seguinte conteúdo:  CREATE DATABASE asdb MAXINSTANCES 1 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 200 DATAFILE '/usr/lib/oracle/oradata/asdb/system01.dbf' SIZE 50M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE '/usr/lib/oracle/oradata/asdb/sysaux01.dbf' SIZE 50M AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/usr/lib/oracle/oradata/asdb/temp01.dbf' SIZE 200M AUTOEXTEND OFF SMALLFILE UNDO TABLESPACE UNDOTBS DATAFILE '/usr/lib/oracle/oradata/asdb/undotbs01.dbf' SIZE 200M AUTOEXTEND OFF CHARACTER SET WE8ISO8859P1 NATIONAL CHARACTER SET AL16UTF16 LOGFILE GROUP 1 ('/usr/lib/oracle/oradata/asdb/redo01a.log', '/usr/lib/oracle/oradata/asdb/redo01b.log') SIZE 50M, GROUP 2 ('/usr/lib/oracle/oradata/asdb/redo02a.log', '/usr/lib//oracle/oradata/asdb/redo02b.log') SIZE 50M, GROUP 3 ('/usr/lib/oracle/oradata/asdb/redo03a.log', '/usr/lib/oracle/oradata/asdb/redo03b.log') SIZE 50M USER SYS IDENTIFIED BY ORACLE USER SYSTEM IDENTIFIED BY ORACLE;  Após esses procedimentos, deve-se mudar algumas permissões e criar alguns grupos, com os comandos:  # groupadd oinstall, oracle, dba, oper # usermod -g oinstall -G dba,oper,oracle oracle # chown -R oracle:oinstall /usr/lib/oracle  Agora loga-se com o usuário oracle: su – oracle e exporta-se a base de dados, com o comando:   ORACLE_SID=asdb;  export ORACLE_SID  Agora basta utilizar a ferramenta cliente SQL*Plus com o usuário ainda oracle, anteriormente criado, para isto basta digitar:    $ sqlplus /nolog  Logando como SYSDBA:  SQL> conn / as sysdba