Instal·lació Oracle a la LINKAT 3

De wikijoan
Salta a la navegació Salta a la cerca

Instal.lació Oracle 11g a la LINKAT3

Segueixo el document:

La LINKAT 3 està basat en la OpensSuse 11.1, i per tant seguiré aquest tutorial

Install the libstdc++33 package. ie:

$ zypper install libstdc++33

Per instal.lar el Oracle 11gR1 segueixo els mateixos passos que per al openSUSE 11.0

El resum del que s'ha de fer és:

  • Install openSUSE 11.0 with "C/C++ Development" selection.
  • Download and Install orarun package. Enable and set password for newly created user oracle by orarun.
  • Change some environment variables - ORACLE_HOME, ORACLE_SID, TNS_ADMIN in /etc/profile.d/oracle.sh.
  • Set updated kernel parameters by executing /etc/init.d/oracle start or rcoracle start.
  • Download and extract Oracle Oracle 11gR1 SW.
  • login as user oracle and run Oracle Universal Installer "database/runInstaller". Just follow step by step questions of Oracle installer.
$ rpm -Uvh orarun.rpm
error: Dependències fallides:
	el paquet gcc és requerit per orarun-1.9-52.i586
	el paquet libaio-devel és requerit per orarun-1.9-52.i586

$ sudo rpm -Uvh libaio-devel-0.3.104-104.47.i586.rpm 
S'està preparant...        ########################################### [100%]
   1:libaio-devel   


$ sudo rpm -Uvh orarun.rpm
S'està preparant...        ########################################### [100%]
   1:orarun                 ########################################### [100%]
Updating etc/sysconfig/oracle...

Ja tenim el paquet orarun instal.lat. El que ha fet és crear l'usuari oracle. Ara bé, no pretenem veure'l a usuarios.

Habilitem aquest usuari i li posem un password:

$ vi /etc/passwd

i veiem que l'usuari oracle està creat (última línia). Canviem

oracle:x:112:114:Oracle user:/opt/oracle:/bin/false

per

oracle:x:112:114:Oracle user:/opt/oracle:/bin/bash

que vol dir que l'usuari pot executar ordres de la shell (i és en aquest sentit que habilitem l'usuari).

També canviem el password

$ sudo passwd oracle
Changing password for oracle.
Contrasenya nova: 
Torneu a introduir la contrasenya nova: 
S'ha canviat la contrasenya.

i des de l'usuari joan ens connectem com a oracle (des de root no funciona?):

$ su oracle
$ whoami
oracle
$ export LIBXCB_ALLOW_SLOPPY_LOCK=1

En el fitxer oracle.sh hi ha definides les variables d'entorn. Per exemple, amb ORACLE_BASE defineixo la ruta d'instal.lació. Ho deixo tal cual, i comprovo que aquestes variables d'entorn ja estan activades (el paquet orarun se n'encarrega de tot això).

oracle.sh:

  ORACLE_BASE=/opt/oracle
  ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
# ORACLE_HOME=$ORACLE_BASE/product/10gR2/db
  ORACLE_SID=orcl

  TNS_ADMIN=$ORACLE_HOME/network/admin

En el fòrum de la LINKAT m'indiquen:

He vist que cal fer una modificació al fitxer /etc/SuSE-release per iniciar la instal·lació, cal deixar-ho com va per defecte amb OpenSuse i esborrar la referència a Linkat:

Canvio:

Linkat 3.0 (i586)
VERSION = 3.0

per

openSUSE 11.1 (i586)
VERSION = 11.1

Em descarrego el Oracle 11g, arrenco amb l'usuari oracle una sessió gràfica, i comença la instal.lació:

$ database/runInstaller

Deixo totes les pantalles per defecte. M'instal.la una instància Oracle de nom: orcl. Poso un password als usuaris sys i system.

Configuració i primers passos

Ja ha acabat la instal.lació. Miro si puc començar a treballar.

$  sqlplus sys as sysdba

SQL> startup mount
SQL> alter database open;
SQL> select * from TAB;

Encara no tenim listener

oracle@LINKAT-BBDD:~> tnsping orcl

TNS Ping Utility for Linux: Version 11.1.0.6.0 - Production on 14-OCT-2009 16:21:04

Copyright (c) 1997, 2007, Oracle.  All rights reserved.

Used parameter files:
/opt/oracle/product/10.2/db_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = LINKAT-BBDD.intracentre)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
TNS-12541: TNS:no listener

Arrenquem el listener:

oracle@LINKAT-BBDD:~> lsnrctl start

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 14-OCT-2009 16:25:28

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Starting /opt/oracle/product/10.2/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /opt/oracle/product/10.2/db_1/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/LINKAT-BBDD/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LINKAT-BBDD.intracentre)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date                14-OCT-2009 16:25:30
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/10.2/db_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/LINKAT-BBDD/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LINKAT-BBDD.intracentre)(PORT=1521)))
The listener supports no services
The command completed successfully

i ara sí que tenim el listener:

oracle@LINKAT-BBDD:~> tnsping orcl

TNS Ping Utility for Linux: Version 11.1.0.6.0 - Production on 14-OCT-2009 16:27:56

Copyright (c) 1997, 2007, Oracle.  All rights reserved.

Used parameter files:
/opt/oracle/product/10.2/db_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = LINKAT-BBDD.intracentre)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
OK (80 msec)

i des d'una altra màquina també podem connectar-nos (en aquesta màquina hem de modificar el tnsnames.ora). Ara bé, millor posar una IP fixa (NO!):

$ gedit /opt/oracle/product/10.2/db_1/network/admin/listener.ora

i canviem HOST = LINKAT-BBDD.intracentre per HOST=192.168.0.10

Doncs no! més val deixar-ho com estava perquè ara des d'una altra màquina no em connecto (mirar).

$ lsnrctl stop
$ lsnrctl start

Anem a crear un usuari i fer una petita prova:

CREATE USER "JOAN" PROFILE "DEFAULT" IDENTIFIED BY "bbdd" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
GRANT "CONNECT" TO "JOAN" WITH ADMIN OPTION;
GRANT "DBA" TO "JOAN" WITH ADMIN OPTION;

connect joan/bbdd

Arrenco i inicio la sessió amb l'usuari joan

Les variables d'entorn estan posades:

$ echo $ORACLE_BASE
/opt/oracle
$ echo ORACLE_HOME
/opt/oracle/product/10.2/db_1
$ echo $ORACLE_SID
orcl

però aquesta variable no està assignada:

TNS_ADMIN=$ORACLE_HOME/network/admin

No troba la comanda sqlplus:

joan@LINKAT-BBDD:~> sqlplus
bash: sqlplus: command not found

Em falta afegir el PATH:

$ export PATH=$PATH:$ORACLE_HOME/bin

$ echo $PATH
/home/joan/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/opt/oracle/product/10.2/db_1/bin

i ara sí:

$  sqlplus sys as sysdba

SQL> startup mount
SQL> alter database open;
SQL> connect joan/bbdd

creo una taula i veig que els accents també estan malament.


creat per Joan Quintana Compte, octubre 2009