Difference between revisions of "Programmazione:Nozioni varie"
From Aino Wiki
(→Installazione (ver 19c)) |
(No difference)
|
Latest revision as of 19:02, 18 November 2025
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":
I database sono fisicamente nelle seguenti cartelle evidenziate:
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).
- Trovare la cartella di installazione di Oracle (è stata definita in fase di installazione), supponiamo sia:
C:\Oracle\_Oracle_Setup_Inst - 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" - 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)
- cancellare la cartella di Oracle e dei database
- rimuovere le variabili di sistema
- pulire il registro lanciando regedit. CAncellare le chiavi Orale in: HKEY_LOCAL_MACHINE\SOFTWARE e HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
- 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:
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)
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.
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...
- Impostare "Allow inprocess" nelle proprietà generali del Provider "OraOLEDB.Oracle" sul nodo 'linked servers' si SQL Server.
- 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.
- 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
MS SQL |
Parole chiave:
