Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

Programmazione:Nozioni varie

From Aino Wiki

Jump to: navigation, search

Installazione (ver 19c)

Durante l'installazione vengono chieste informazioni che poi serviranno nelle operazioni iniziali e future di manutenzione, etc.
INFO fondamentali:

  • DUAL: è una tabelal di sistema, ogni Query di puro calcolo va fatta sulla tabella di sistema "DUAL" cosa invece non necessaria in SQL Server. Es.: SELECT sysdate FROM DUAL; (per avere la data di oggi).
  • OEM Express: Oracle Enterprise Manager Database Express, è una applicazione web per ...
  • PDB: Pluggable Database. .
  • SID: è il nome del database a cui ci si connette, in fase di installazione se ne crea uno di partenza a cui ci si riferisce col nome "Global DB Name" e di default è orcl
  • SYSTEM: è l'utente di default con cui accedere ad Oracle dopo l'installazione, è l'utente amministratore, in fase di installazione iniziale si è definita una password ebbene si riferisce proprio a questo utente.

L'installazione comprende anche quella di un WebServer dedicato alla gestione dei database così come avviene per MySQL, la URL di default è ovvero:

https://localhost:5500/em/login

Configurazione

Creazione di un database

Si lancia il tool "Database Configuration Assistant":

Oracle 19c POST cfg 01.png

I database sono fisicamente nelle seguenti cartelle evidenziate:

Oracle Database files 01.jpg

Il database vuoto pesa circa 6 GByte.

Disinstallazione

Purtroppo Oracle non ha una configurazione standard come gli altri programmi di Windows quindi occorre procedere usando un batch di disinstallaizone e verificare a mano che tutto sia pulito (cartelle del FileSystem e chiavi di registro).

  1. Trovare la cartella di installazione di Oracle (è stata definita in fase di installazione), supponiamo sia: C:\Oracle\_Oracle_Setup_Inst
  2. Nella cartella root di Oracle c'è una cartella che conterrà il batch (.bat) di disinstallazione, tale cartella si chiama "deinstall", nelle ipotesi di partenza è in C:\Oracle\_Oracle_Setup_Inst\deinstall. Al suo interno c'è il file "deinstall.bat"
  3. Aprire un prompt comandi, andare nella cartella del punto precedente e lanciare il comando deinstall (nella versione 19c questo dovrebbe esser sufficiente ma seguire i punti seguenti)
  4. cancellare la cartella di Oracle e dei database
  5. rimuovere le variabili di sistema
  6. pulire il registro lanciando regedit. CAncellare le chiavi Orale in: HKEY_LOCAL_MACHINE\SOFTWARE e HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
  7. riavviare il PC

Tools

Oracle SQL Developer

Questo tool, non ha bisogno di installazione ma semplicemente collocare la cartella decompattatain una posizione a scelta.
ATTENIZONE la cartella di installazione DEVE avere un path "semplice" pena errori indecifabili e non intuitivi, es. se Oracle è stato installato in:
C:\Oracle\_Oracle_Setup_Inst
si può scegliere di collocare la cartella di SQL Developer in:
C:\Oracle\sqldeveloper
Un file di particolare importanza è il TNS file, ovvero tnsnames.ora, che nelle ipotesi di prima si trova in:
C:\Oracle\_Oracle_Setup_Inst\network\admin
Pertanto in circostanze normali avremo una situazione dell'interfaccia simile a quanto segue:

Oracle SQL Developer 01.png

Connessione al database

Espandendo il nodo radice TNS, si seglie un database, ad es. quello inizialmente creato, e all'espansione del suo nodo automaticamente ci si connetterà dopo essersi autenticati.
Si userà l'utente SYSTEM la cui password è stata definita in fase di installazione di Oracle (vedi rettangolo verde nella figura seguente)

Oracle SQL Developer 02.jpg

SQL Plus

E' un tool CLI (command line interface) installato con l'installazione di Oracle, consente di lavorare con i database a cui l'utente loggato può accedere ed estrapolare\elaborare i dati ma da interfaccia testuale.
Una volta lanciato chiede le credenziali d'accesso, inizialmente entreremo con l'utenza SYSTEM e la password definita in fase di installazione Oracle.
Oracle SQL Plus 01.png

Comandi utili

Come primo comando c'è quello di HELP per avere la descrizione di specifici comandi, si può anche usare per avere l'elenco disponibile dei comandi di cui eventualmente si può cheidere aiuto:

SQL> help index

Enter Help [topic] for help.

 @             COPY         PASSWORD                 SHOW
 @@            DEFINE       PAUSE                    SHUTDOWN
 /             DEL          PRINT                    SPOOL
 ACCEPT        DESCRIBE     PROMPT                   SQLPLUS
 APPEND        DISCONNECT   QUIT                     START
 ARCHIVE LOG   EDIT         RECOVER                  STARTUP
 ATTRIBUTE     EXECUTE      REMARK                   STORE
 BREAK         EXIT         REPFOOTER                TIMING
 BTITLE        GET          REPHEADER                TTITLE
 CHANGE        HELP         RESERVED WORDS (SQL)     UNDEFINE
 CLEAR         HISTORY      RESERVED WORDS (PL/SQL)  VARIABLE
 COLUMN        HOST         RUN                      WHENEVER OSERROR
 COMPUTE       INPUT        SAVE                     WHENEVER SQLERROR
 CONNECT       LIST         SET                      XQUERY

Alcuni comandi essenziali:

Command Syntax Description
CONNECT CONNECT username/password@hostname:port/service_name; Connects to a database using the specified credentials and connection details.
SELECT SELECT * FROM tablename; Executes an SQL query to retrieve data from a table.
DESCRIBE DESCRIBE tablename; Displays the structure of a table (columns, data types, etc.).
SPOOL SPOOL filename; Redirects query output to a file.
START START script.sql; Executes a script file.
SHOW Es.: SHOW user Per visualizzare informazioni di systema; nell'esempio si visualizza l'utente corrente
EDIT EDIT; Opens the default text editor to edit the current command buffer.
HOST HOST command; Executes an operating system command.
QUIT or EXIT QUIT; or EXIT; Disconnects from the database and exits SQL*Plus.
VARIABLE VARIABLE my_var NUMBER; Defines and uses variables in SQL*Plus.

Vari

Per uscire da SQL Plus digitare: Exit

Per eseguire un comando DOS (solo per SO Windows):

HOST dir

Restituisce l'elenco dei files della cartella corrente di Oracle, es. C:\Oracle\_Oracle_Setup_Inst\bin.

Per avere il nome del database a cui si è connessi:

SHOW PARAMETER instance_name

Producendo:

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      orclspx

Il nome del database è quello nella colonna VALUE.

Per avere il nome del utente corrente:

SHOW user



Per cambiare il prompt visualizzando utente e database corrente:

SET sqlprompt "'SQL:'_user at _connect_identifier>"



Per avere l'elenco delle tabelle del database corrente:

SELECT owner, table_name FROM dba_tables

SELECT owner, table_name FROM all_tables

SELECT table_name FROM user_tables



Per connettersi ad un diverso database (es. orcl) usando l'utente SYSTEM:

connect SYSTEM@"orcl"

Eventualmente dopo @ e tra le " si può inserire l'FQDN di una database remoto. Dopo il comando verrà richiesta la password associata all'untete con cui ci si vuol connettere.

Soluzioni

Errori

Cannot fetch a row from OLE DB provider "OraOLEDB.Oracle" for linked server

Ci son diverse soluzioni al seguente errore un pò causale...

  1. Impostare "Allow inprocess" nelle proprietà generali del Provider "OraOLEDB.Oracle" sul nodo 'linked servers' si SQL Server.
  2. Da stackexchange.com: This particular issue was resolved by removing packet inspection rules on TCP Port 1521 (Oracle default) within the VMWare NSX. This was causing a bottleneck of data coming out of our Oracle infrastructure (IBM AIX) and back into our NSX infrastructure.
  3. Da stevesohcot.com.
SET QUOTED_IDENTIFIER OFF
SELECT * FROM OPENQUERY ([inked_server_name_here], "SELECT field_one, field_two, field_with_error ‘ ‘ AS other_field FROM table")

etc

SQL standard 2:

-- Commento
SELECT * 
FROM Tabella
WHERE 1=1

Mappa e Link


Oracle


MS SQL |


Parole chiave:

Author