Instal.lació Oracle a la LINKAT 3

De Wikijoan
Dreceres ràpides: navegació, 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:

$ 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

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines