Instal.lació Oracle a la LINKAT 3
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