|
 |
En général, sur les systèmes unix, il faut utiliser le compte 'oracle' pour se connecter à la base de données.
Une fois logué en oracle, il faut lancer la commande 'sqlplus'. Pour lancer sqlplus directement avec un login
mot de passe, il suffit de taper 'sqlplus monlogin/monpassword.
Commande pour lancer Oracle (sous Unix) :
sqlplus BDD1/mypass
Commande pour lancer Oracle avec demande de mot de passe (sous Unix) :
sqlplus BDD1
Oracle vous demande d'entrer le mot de passe.
| | | | | | | | | 2. Requêtes et commandes utiles avec Oracle
|  |  |  |
|
Pour pouvoir exécuter une requête, il faut dans un premier temps taper le texte de la requête,
puis, lancer la commande avec ";" et "entrée".
| Fonctions Utiles |
Description |
| select * from dba_segments where segment_type='TABLE' |
Affiche les tables de la base utilisée |
| desc nom_table; |
Affiche les champs de la table nom_table |
| connect username/password |
se connecte avec le username et le mot de passe envoyés en paramètre |
| connect as username |
se connecte avec le username passé en paramètre et demande le mot de passe, par exemple,
'connect as sysdba' pour accéder aux tables systèmes. |
Il existe plusieurs tables systèmes dont voici les principales :
| Nom |
Description |
| v$instance |
Liste les instances Oracle en cours, avec le serveur ou il tourne, la date de demarrage... |
| user_constraints |
Tables de gestions de droits par utilisateurs |
| dba_data_files |
Défini les tablespace associé à un fichier |
| dba_users |
Table de gestions des utilisateurs comme le login, le mot de passe, la date d'expiration |
| v$datafile |
|
| user_segments |
Table de gestion des segments de l'utilisateur en cours (tables, index...) |
SQL> desc v$instance;
Name Null? Type
----------------------------------------------------------------- -------- -----------------
INSTANCE_NUMBER NUMBER
INSTANCE_NAME VARCHAR2(16)
HOST_NAME VARCHAR2(64)
VERSION VARCHAR2(17)
STARTUP_TIME DATE
STATUS VARCHAR2(12)
PARALLEL VARCHAR2(3)
THREAD# NUMBER
ARCHIVER VARCHAR2(7)
LOG_SWITCH_WAIT VARCHAR2(11)
LOGINS VARCHAR2(10)
SHUTDOWN_PENDING VARCHAR2(3)
DATABASE_STATUS VARCHAR2(17)
INSTANCE_ROLE VARCHAR2(18)
ACTIVE_STATE VARCHAR2(9)
| | | | | | | | | 3. 3. Table user_constraints
|  |  |  |
|
SQL> desc user_constraints;
Name Null? Type
----------------------------------------------------------------- -------- -----------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14)
| | | | | | | | | 3. 4. Table dba_data_files
|  |  |  |
|
SQL> desc dba_data_files;
Name Null? Type
----------------------------------------------------------------- -------- -----------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
SQL> desc dba_users;
Name Null? Type
----------------------------------------------------------------- -------- -----------------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
PASSWORD VARCHAR2(30)
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
PROFILE NOT NULL VARCHAR2(30)
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
SQL> desc v$datafile;
Name Null? Type
----------------------------------------------------------------- -------- -----------------
FILE# NUMBER
CREATION_CHANGE# NUMBER
CREATION_TIME DATE
TS# NUMBER
RFILE# NUMBER
STATUS VARCHAR2(7)
ENABLED VARCHAR2(10)
CHECKPOINT_CHANGE# NUMBER
CHECKPOINT_TIME DATE
UNRECOVERABLE_CHANGE# NUMBER
UNRECOVERABLE_TIME DATE
LAST_CHANGE# NUMBER
LAST_TIME DATE
OFFLINE_CHANGE# NUMBER
ONLINE_CHANGE# NUMBER
ONLINE_TIME DATE
BYTES NUMBER
BLOCKS NUMBER
CREATE_BYTES NUMBER
BLOCK_SIZE NUMBER
NAME VARCHAR2(513)
PLUGGED_IN NUMBER
BLOCK1_OFFSET NUMBER
AUX_NAME VARCHAR2(513)
| | | | | | | | | 4. 1. Listes des commandes
|  |  |  |
|
Comme dans chaque programme, Oracle dispose de plusieurs commandes utilisables dans sqlplus. Voici quelques
commandes utiles dans l'utilisation en ligne :
| Commande |
Description |
| ; |
Execute la requête |
| / |
Reexecute la dernière requête |
| r |
Reexecute la dernière requête |
| ed |
Edite la requête en cours dans vi |
| l |
Affiche la dernière requête |
| i |
Permet d'insérer des nouveaux critères dans la dernière requête executée |
| @mon_fichier.sql |
Execute un fichier externe de requête SQL dans SQLPlus |
| ! |
Execute une commande dans le shell standard et affiche la sortie dans SQLPlus |
| show all |
Affiche tous les paramètres de Oracle |
| exit |
Sort de la session sqlplus |
| | | | | | | | | 4. 2. Details du show all
|  |  |  |
|
SQL> show all
appinfo is OFF and set to "SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator "." (hex 2e)
btitle OFF and is the first few characters of the next SELECT statement
cmdsep OFF
colsep " "
compatibility version NATIVE
concat "." (hex 2e)
copycommit 0
COPYTYPECHECK is ON
define "&" (hex 26)
describe DEPTH 1 LINENUM OFF INDENT ON
echo OFF
editfile "afiedt.buf"
embedded OFF
escape OFF
FEEDBACK ON for 6 or more rows
flagger OFF
flush ON
heading ON
headsep "|" (hex 7c)
instance "local"
linesize 120
lno 90
loboffset 1
logsource ""
long 80
longchunksize 80
markup HTML OFF
newpage 1
null ""
numformat ""
numwidth 10
pagesize 90
PAUSE is OFF
pno 0
recsep WRAP
recsepchar " " (hex 20)
release 902000500
repfooter OFF and is NULL
repheader OFF and is NULL
serveroutput OFF
shiftinout INVISIBLE
showmode OFF
spool OFF
sqlblanklines OFF
sqlcase MIXED
sqlcode 942
sqlcontinue "> "
sqlnumber ON
sqlpluscompatibility 8.1.7
sqlprefix "#" (hex 23)
sqlprompt "SQL> "
sqlterminator ";" (hex 3b)
suffix "sql"
tab ON
termout ON
time OFF
timing OFF
trimout ON
trimspool OFF
ttitle OFF and is the first few characters of the next SELECT statement
underline "-" (hex 2d)
USER is "sysadmin"
verify ON
wrap : lines will be wrapped
Pour changer un paramètre, il suffit d'appeler la commande 'set' suivi du paramètre
à changer et de la nouvelle valeur :
set pages 90 lines 120
Cette commande fixera le nombres de pages à 90 et le nombre de lignes à 120.
|
|