-
intallation de Oracle XE 18c
-
Installation de Oracle : telecharger avec le lien https://we.tl/t-9IQSuotdCi
- Lancer sqlplus : le client shell de oracle
sqlplus /nolog
- Se conncter a sysdba
connect /as sysdba;
connect sys/ as sysdba
show user;
Affiche USER est "SYS"
- se connecter a la BD
select name from v$DATABASE;
pour connaitre la version de oracle
SELECT * FROM v$version;
- Affichage des table spaces
ce sont des aliases sur les fichies system
select tablespace_name from dba_tablespaces;
select tablespace_name, file_name from dba_data_files;
create tablespace TBS_DATA datafile 'C:\ORACLE\ORADATA\XE\DATA_01.DBF' size 2M autoextend ON maxsize 50M;
- pour afficher le nom de la BD
select name from v$DATABASE;
- Creation de Users
Signature create user {username} identified by {motdepasse} default tablespace {latablespace}
create user nkaurelien identified by nkaurelien0 default tablespace tbs_data;
alter user nkaurelien identified by nkaurelien0;
Pour la version 18c, il d'abord lancer la commande suivante
alter session set "_ORACLE_SCRIPT"=true;
- designer le tablespace pour les operations de tri
modifier l'utilisateur pour executer les operations de tri (ORDER BY, GROUP BY, UNION, ) dans le tablespace temp
alter user nkaurelien temporary tablespace temp;
- donner le role dba(admin) a notre user et se connecter a notre compte
grant dba to nkaurelien;
connect nkaurelien/nkaurelien0;
show user;
-
Afficher la liste de tables
- pour voir mes tables
select table_name, tablespace_name from user_tables;
- pour voir les tables du dba (de l'admin db)
select table_name, tablespace_name from dba_tables;
- pour voir les tables du dba et celles qui m'ont ete attribuées
select table_name, tablespace_name from all_tables;
- Creation des index
create index idx_ord_cust_id on orders(cust_id);
la bonne pratique demande de creer les index et les tables dans des tablespaces separés
create tablespace TBS_INDEX datafile 'C:\ORACLE\ORADATA\XE\INDEX_01.DBF' size 2M autoextend ON maxsize 50M;
create index idx_ord_cust_id on orders(cust_id) tablespaces tbs_index;
select index_name from user_indexes;
select index_name from dba_indexes;
select index_name from dba_indexes;
desc dba_indexes;
NB: lors de la creation avec les commandes CREATE, le system genere un nom sous la forme 'SYS_%' exemple 'SYS_5135665'
Il est preferable de bien separar les instructions de creation de table des celles de indexes , des sequences et etc...,
Creons les tables et ensuite ajoutons les contraintes avec le ALTER, ca rend le script maintenable et les noms des objets ( index) sont clair et ont un sens pour le developpeurs.
- Raccourci
- l: pour afficher la dernier commande en tampon.
- r: rappeler la memoire tampon
- c: pour corriger le texte en tampon, il faut saisir le
- Generation de script
- exemple
select 'ALTER INDEX'||index_name||'REBUILD TABLESPACE tbs_index'||char(10) from dba_indexes where owner = 'DWA';
- Generer les instructions de creation des index sur le
select lower('CREATE index idx_'|| substr(cons.TABLE_NAME, 1, 5) || '_' || cons.COLUMN_NAME ||' ON '|| cons.TABLE_NAME||'('|| cons.COLUMN_NAME ||');')
from user_cons_columns cons join user_constraints using (constraint_name)
where constraint_type ='R';