Mòdul ASGBD

ASGBD - Instal·lació Oracle

Definicions

Què és un DBA

La figura del DBA fa referència a la persona o a l’equip de persones responsables d’assegurar la disponibilitat de les dades d’una organització i l’accés a les mateixes de manera òptima. Serà el responsable de tot el cicle de vida del sistema d’informació.

Tasques d’un DBA

Què és un SGBD

Un SGBD és un conjunt de programes que permeten l’emmagatzematge, modificació i extracció de la informació d’una base de dades, a més de proporcionar ferramentes per a explotar, administrar i gestionar les bases de dades.

En anglés DBMS o RDBMS (Data Base Management System).

Ranking DBMS: https://db-engines.com/en/ranking

Contesta a les preguntes ...

  • Quants SGBD hi ha al rànquing
  • Dels 5 primers, quants són de codi obert
  • Els dos primers, a quina empresa pertanyen
  • Dels 7 primers, quins sistemes operatius suporten (fes una graella o taula)
  • Dels 7 primers, quins suporten el model relacional
  • Dels 7 primers, quins suporten el model documental

Classificacions dels SGBD

Les classificacions dels Sistemes de Gestió de Bases de Dades (SGBD) poden organitzar-se en diverses categories segons la seua arquitectura, nombre d’usuaris, model de dades i el seu propòsit o tipus de càrrega de treball.

1. Segons el nombre d’usuaris

2. Segons la seua arquitectura

3. Segons el model de dades (o tipus de base de dades)

Aquests SGBD es classifiquen segons la forma en què estructuren i accedeixen a les dades:

Notes importants:

4. Segons el propòsit o tipus de càrrega de treball

Alguns SGBD moderns (com PostgreSQL o SQL Server) poden realitzar funcions OLTP i OLAP híbrides, encara que no tan especialitzades com les eines pures.

Tipus de connexió a una Base de Dades

1. Des de consola (CLI - Command Line Interface)

2. Des d’un entorn gràfic (GUI - Graphical User Interface)

Ferramentes visuals que permeten gestionar bases de dades de manera amigable:

3. Des d’un llenguatge de programació (via driver o API)

Connexió programada des d’una aplicació o script.

Funcions d’un SGBD

Elements d’un SGBD

Un Sistema Gestor de Bases de Dades (SGBD) està compost per diversos elements o components que treballen conjuntament per facilitar l’emmagatzematge, recuperació, manipulació i administració de dades.

1. Processador de consultes

És el component encarregat d’interpretar i executar les consultes realitzades pels usuaris (normalment en SQL). Les seues funcions inclouen:

2. Gestor de la base de dades

És el nucli del SGBD. Controla l’accés a les dades i garanteix la seua integritat, seguretat i concurrència. Les seues responsabilitats són:

3. Gestor d’arxius

Aquest component administra l’emmagatzematge físic de les dades en disc. Entre les seues funcions estan:

4. Interfícies externes

Són els mecanismes que permeten als usuaris i aplicacions comunicar-se amb el SGBD. Poden incloure:

5. Preprocessador del llenguatge de manipulació de dades (DML)

Aquest component s’encarrega d’identificar les sentències DML (com SELECT, INSERT, UPDATE, DELETE) dins del codi font d’una aplicació. Funcions clau:

6. Compilador del llenguatge de definició de dades (DDL)

Traduïx les sentències DDL (com CREATE, ALTER, DROP) que definixen l’estructura de la base de dades. La seua funció és:

7. Gestor del diccionari

El diccionari (o catàleg) de dades és una base de dades interna que emmagatzema metadades. Aquest gestor:


Com seleccionar un SGBD

Una vegada es coneixen els elements d’un SGBD, els tipus de SGBD i els conceptes clau, ja s’està en posició de poder triar un SGBD tenint en compte els factors que determinaran l’elecció.

Factors per a l’elecció del SGBD

Documentació

En cada instal·lació s’haurà d’elaborar o omplir una documentació amb la informació següent. Aquesta documentació no serà pública i es guardarà per a consultes tècniques.


Verificar els requisits d’instal·lació

En cada SGBD hi haurà uns requisits que podem trobar en la documentació de cada versió del producte concret ... ORACLE, PostgreSQL, MySQL, etc.

Abans de començar la instal·lació, cal aconseguir i tindre disponibles aquests documents!

Verificar:

Registre de la instal·lació (log de la instal·lació)

Tots els instal·ladors de sistemes gestors de bases de dades guarden un registre de les operacions realitzades durant la instal·lació. Aquest registre és útil en cas que es produeixi algun problema, per a diagnosticar-ne el motiu.

L’estructura i ubicació del registre de la instal·lació dependrà del SGBD.

Edicions d'Oracle Database

🧾 Què és una edició?

Una edició d’Oracle Database fa referència a un conjunt de característiques i capacitats disponibles segons el perfil de l’usuari (empresa, educació, desenvolupador...). Cada edició té un cost, unes limitacions i uns usos recomanats.

Edicions disponibles

☁️ Edicions Cloud

Oracle ofereix també les edicions anteriors com a serveis al núvol (Oracle Cloud Infrastructure) amb diversos nivells de rendiment i preu:

⚙️ Tipus d’instal·lació (ús)

A més de l’edició, Oracle es pot desplegar amb diferents arquitectures d’instal·lació:

Recomanacions pràctiques

🔗 Recursos

(Practica 🧪) Primer contacte amb Oracle Database

Versions d’Oracle Database

🧾 Què és una versió?

La versió d’Oracle fa referència a la numeració del programari que indica les funcionalitats disponibles, el motor de base de dades i el model d’arquitectura utilitzat. Exemples: 11g, 12c, 18c, 19c, 21c, 23ai

📋 Llista de versions populars

📦 Tipus d’ús (instal·lació)

A més de la versió i edició, Oracle es pot instal·lar amb diferents modalitats de funcionament:

⚠️ Consideracions importants

El Fi de vida útil, més conegut pel seu terme anglès End Of Life (EOL), és un terme que fa referència a la caducitat d'un producte de programari. És a dir, és el moment en què un programari deixa de tenir manteniment i suport.

Resum

  • Quina és l'última versió que suporta non-cdb
  • Quines versions estan dins del seu cicle de vida
  • Requisits d’instal·lació

    Requisits teòrics

    Aquests són els requisits oficials mínims especificats per Oracle per instal·lar la base de dades:

    En Windows:

    En Linux:

    Fonts oficials:

    Requisits realistes

    Per a una instal·lació funcional i estable, és recomanable:

    Eines i components importants

    Durant la instal·lació s’inclouen diversos components:

    Resum final

    Instància

    Què és una instància Oracle?

    Una instància d’Oracle és el conjunt de processos en segon pla (background processes) i estructures de memòria que gestionen l'accés a una base de dades Oracle.

    Components de memòria

    Es poden consultar amb les següents ordres des de SQL*Plus:

      SQL> show sga;
      SQL> show parameter sga;
      
      SQL> show parameter pga;
        

    Relació amb la base de dades (BBDD)

    Una instància sempre està associada a una base de dades (BBDD) concreta. Quan s’inicia la instància, es carrega la informació necessària per gestionar aquesta BBDD.

    Diagrama conceptual

      [ Usuari ] → [ PGA ]
                   |
                   ↓
      [ Instància Oracle ]
         ├── SGA
         ├── Processos background (DBWn, LGWR, CKPT, etc.)
         ↓
      [ Fitxers de la base de dades (BBDD) ]
        

    Notes tècniques

    Conclusió: Sense instància, la base de dades no pot operar. I sense base de dades, la instància no té sentit.

    Arquitectura d’Oracle

    Arquitectura tradicional (non-CDB)

    BD non cdb

    Abans de la versió 12c, Oracle utilitzava una arquitectura tradicional on una instància del SGBD controlava una única base de dades (una sola estructura de fitxers).

    Arquitectura multitenant (CDB/PDB)

    BD non cdb

    A partir d’Oracle 12c, es va introduir l’arquitectura multitenant:

    Exemple d’una estructura multitenant:

      CDB$ROOT       → Contenidor principal
      PDB$SEED       → Plantilla de clonació de PDBs
      PDB1, PDB2...  → Pluggable Databases (útils per treballar)
        

    Arquitectura multitenant (en un SGBD)

    BD non cdb

    Notes importants sobre multitenant

    Diferències entre arquitectures

    Característica Traditional (non-CDB) Multitenant (CDB/PDB)
    Instància ↔ BBDD 1 ↔ 1 1 ↔ múltiples PDBs
    Separació lògica No Sí (cada PDB és independent)
    Compatibilitat amb 21c ✅ Obligatòria

    Beneficis de l’arquitectura multitenant

    Resum

    OFA – Oracle Flexible Architecture

    Què és l’OFA?

    L’OFA (Oracle Flexible Architecture) és un estàndard de disseny de l'estructura de directoris i nomenclatura de fitxers en instal·lacions Oracle. Està pensat per a:

    📁 Exemples de rutes segons el sistema operatiu

    🖥️ En Windows:

    C:\app\oracle\product\21.0.0\dbhome_1

    🐧 En Unix/Linux:

    /u01/app/oracle/product/21.0.0/dbhome_1

    On:

    👤 L’usuari instal·lador

    El directori oracle fa referència normalment a l’usuari del sistema operatiu que executa la instal·lació. Aquest usuari ha de tindre permisos d’administrador en Windows o pertànyer al grup oinstall i dba en Linux.

    ⚠️ Recomanacions

    🔗 Recursos addicionals

    Pots consultar més informació sobre OFA als següents enllaços:

    Instal·lació Oracle

    Procés general d’instal·lació

    Instal·lar un SGBD Oracle i crear una BBDD (CDB + PDB) són processos diferents, encara que el mateix assistent pot fer-ho tot alhora.

    Des de Windows

    BD non cdb

    (no cal que l'usuari instal·lador s'anomene oracle, pot ser altre nom)

    Opcions de setup

    Durant l’execució de setup.exe es poden escollir diferents opcions:

    ⚠️ No executar setup.exe més d’una vegada!

    Creació de la base de dades (CDB + PDB)

    Creació de més PDB

    També es fa amb dbca:

    Instal·lació / creacio del LISTENER ⚠️⚠️

    Una vegada instal·lat el SW i la BBDD , s'ha d'instal·lar el LISTENER.

    C:\Windows\system32> netca

    Resum:

    Primera instal·lació

    Una vegada es tenen tots els requisits preparats, es realitza la primera instal·lació d’Oracle amb l’usuari designat per a ser usuari instal·lador, per exemple oracle.

    stop

    Abans de continuar....

    Realitzem la nostra primera instal·lació d’ORACLE

    Accés a Oracle

    Després de tindre acabada la instal·lació, hem de comprovar que es pot accedir a la instància.

    Des de Windows (sqlplus)

    Obrir una finestra de CMD com a usuari instal·lador i executar la ordre sqlplus

    C:\Users\oracle> sqlplus / as SYSDBA

    Esta ordre ens connecta a la CDB principal apuntada per ORACLE_SID. Una vegada dins de SQL*Plus, es poden utilitzar ordres útils:

    SQL
      show user;
      show con_name;             -- Nom del contenidor actiu
      select name from v$database;
      show pdbs;                -- Mostra les PDB disponibles
      conn system                -- Connecta com SYSTEM
      show sga;
      disc;                      -- Desconnecta
      exit;
         

    Les ordres SHOW PDBS, SHOW USER, són instruccions especials de l'entorn SQL*Plus ( o eines compatibles com SQLcl), no formen part de SQL estàndard ni de PL/SQL. La ordre SELECT si és una ordre SQL

    Les ordres sqlplus solen ser ALIAS de consultes SQL. 
    Per exemple SHOW PDBS es pot fer amb:
    SELECT CON_ID, NAME, OPEN_MODE, RESTRICTED FROM V$PDBS; 
    SELECT * FROM DBA_PDBS;     

    🔁 Connexió directa a una PDB

      C:\Users\oracle> sqlplus /@localhost/NOMPDB as SYSDBA
      
      SQL> show user;
      SQL> show con_name;
      SQL> show pdbs;
      SQL> select name, open_mode from v$pdbs;
        

    També es pot connectar com SYSTEM amb contrasenya:

      SQL> conn system/1234@localhost/NOMPDB
      SQL> show sga;
      SQL> show user;
        

    ⚠️ SYS i SYSTEM són usuaris diferents

    Per connectar a un SGBD que es troba en una altra màquina: (necessitem ip o nom_dns)

      SQL> conn system/1234@10.0.2.6/NOMPDB
      o 
      SQL> conn system/1234@altramaquina.com/NOMPDB
      SQL> show sga;
      SQL> show user;
        

    Per connectar a un SGBD que es troba escoltant en un altre port (diferent al port habitual d'oracle)

      SQL> conn system/1234@10.0.2.6:1525/NOMPDB
      o 
      SQL> conn system/1234@altramaquina.com:1525/NOMPDB
      SQL> show sga;
      SQL> show user;
        

    ⚠️ 1521 és el port habitual d'oracle

    🔄 Canvi de contenidor

    Una vegada connectats a l'SGBD mitjançant sqlplus, per passar d’una CDB a una PDB, o viceversa:

      SQL> alter session set container=NOMPDB;
      SQL> show con_name;
      SQL> alter session set container=CDB$ROOT;
        

    🐧 Des de Linux amb 🐳 contenidor podman

      podman exec -it cont-oracle sqlplus / as sysdba
         -- Per entrar al CDB i vore les PDB , o crear PDBs noves
     
      podman exec -it cont-oracle sqlplus sys/1234@FREEPDB1 as sysdba      
         -- Per entrar a la PDB anomenada FREEPDB1  (la que porta inicialment)
        

    Una vegada dins:

    SQL
    ⧉ COPIA Codi
       show con_name
       show pdbs
       alter session set container=FREEPDB1;
       show pdbs
       conn system
       show pdbs
       disc      

    🐧 Des de Linux

    Des de terminal amb usuari oracle:

      $ . oraenv                  # Carrega l'entorn Oracle
      $ lsnrctl start             # Inicia el listener
      $ sqlplus / as SYSDBA       # Connexió com SYS
        

    Una vegada dins:

    SQL
    ⧉ COPIA Codi
       startup;
       show con_name;
       show pdbs;
       alter session set container=NOM_PDB;
       conn system;
       disc;      

    ⚠️ Consideracions importants

    Què és SQL*Plus?

    És un client per línia d’ordres proporcionat per ORACLE que permet executar SQL, PL/SQL i ordres específiques d'sqlplus. És una de les eines més antigues i utilitzades per administradors i desenvolupadors.

    Es poden obrir múltiples finestres de CMD + sqlplus i cada una tindrà una sessió diferent.

      SQL> help index
      SQL> help show
        

    Altres maneres d'accedir a la instància:

    En cada solució, es posible que les connexions es preparen de forma diferent En SQL Developer, cal afegir primer una connexió, configurar-la, guardar-la, i després, queda gravada. Cuan es vol connectar, sols es fa doble-click a sobre, i s'inicia la connexió. En VSCode, DBaver, TOAD, funciona igual

    Creació de PDB manualment

    Informació general

    Les PDBs (Pluggable Databases) es poden crear de forma manual mitjançant SQL des de l’usuari SYS, sempre connectat a la CDB (no des d’una altra PDB!).

    Aquesta opció ofereix més control sobre noms, ubicacions, contrasenyes i configuració de la base de dades. Permet integrar-ho en scripts i automatitzar la creació de PDBs, sent ideal per entorns de desenvolupament, testing o desplegaments massius.

    El codi es pot posar dins un .sql i executar-lo des de sqlplus, com per exemple:

    sqlplus sys/password@CDB1 as sysdba @create_pdb.sql     

    Creació manual d’una PDB en Windows

    Des d’una sessió SQL*Plus amb l’usuari SYS dins la CDB:

    SQL
            CREATE PLUGGABLE DATABASE nom_pdb 
            ADMIN USER pdbadmin1 IDENTIFIED BY 1234 
            ROLES = (dba)
            DEFAULT TABLESPACE users;
         

    ⚠️ Si no s’indica DEFAULT TABLESPACE, la PDB no tindrà un espai per defecte per als usuaris.

    🗑️ Esborrar una PDB (Windows):

      SQL> ALTER PLUGGABLE DATABASE pdb_manual CLOSE IMMEDIATE;
      SQL> DROP PLUGGABLE DATABASE pdb_manual INCLUDING DATAFILES;
        

    🐧 Creació manual d’una PDB en Linux

    Des de sqlplus com SYS i dins la CDB, podem crear la PDB indicant els fitxers exactes i rutes:

      SQL> 
      -- En contenidor d'oracle23ai
      CREATE PLUGGABLE DATABASE DATAPDB
      ADMIN USER pdbadmin1 IDENTIFIED BY 1234
      ROLES = (dba)
      PATH_PREFIX = '/opt/oracle/oradata/FREE/DATAPDB/'
      FILE_NAME_CONVERT = (
        '/opt/oracle/oradata/FREE/pdbseed/',
        '/opt/oracle/oradata/FREE/DATAPDB/'
      )
      DEFAULT TABLESPACE users
      DATAFILE '/opt/oracle/oradata/DATAPDB/users01.dbf' AUTOEXTEND ON
        

    Es recomana utilitzar el comando edit i run per facilitar el treball

    El editor funciona com un editor vi ( Aprén l'editor vi )

    Notes útils:

    🗑️ Esborrar una PDB (Linux):

      SQL> ALTER PLUGGABLE DATABASE pdb_manual CLOSE IMMEDIATE;
      SQL> DROP PLUGGABLE DATABASE pdb_manual INCLUDING DATAFILES;
        

    Recomanacions finals

    Conclusions

    Una vegada finalitzada aquesta unitat, hauràs adquirit coneixements essencials sobre la instal·lació i administració bàsica d’Oracle Database. A continuació es resumeixen els punts clau assolits:

    Versions i edicions

    Requisits i preparació

    Arquitectura i instància

    Instal·lació del SGBD

    Connexió i accés

    Eines i clients

    Altres competències

    🎓 Amb tots aquests coneixements, ja estàs preparat/ada per començar a treballar amb Oracle Database a nivell bàsic-mitjà!

    CDB i PDBs

    CDB i PDBs

    Ordres bàsiques i primers errors

    Ordres bàsiques i primers errors