1. -- sous l'invite de cmd se connecter à l'environnement sqlplus sans compte
oracle
>sqlplus /nolog
-- se connecter en tant qu'admin avec le compte system
>connect system/youshan; //connect hr/hr
--utiliser la vue dba_users pour visualiser les compts crées par defaults
sql>describe dba_users;
sql>select username,account_status
from dba_users;
--deverrouiller le compte hr
sql>alter user hr account unlock;
--modifier le mot de passe d'un compte à partir d'un compte administrateur
sql>alter user hr identified by hr;
--expirer le mot de passe
sql>alter user hr password expire;
--créer un nouveau compte
--création du compte stock
sql>create user stock identified by stk;
--affecter le privelege de connexion au compte stock
sql>GRANT create session to stock;
--Tenter de créer la Table ttest (t number)avec le compte stock
sql>create table ttest (t number);
--ajouter le privelege de creation de table:
sql> Grant create table to stock;
--AFFECTER un quota 2dans le tablespace system
sql>alter user stock quota 20 M on system;
--connaitre la liste des comptes oracles avec leur statut
sql>select username,account_status from dba_users;
--connaitre le propr de tablespace
sql>select default_tablespace from dba_users where username='STOCK';
--creation d'une vue pour des salaires >10000
sql>create view v_emp_10000 as select employee_id,salary from employees where
salary>=10000;
sql>select * from v_emp_10000;
--afficher le nbre total des tables crée dans le serveur
sql system>select count(*) from dba_tables;
--afficher le nbre de table crée par le compte hr à partir du compte hr
sql hr>select count (*) from user_tables;
--afficher les tables, vues et synonymes crée par le compte HR
--(Utiliser la vue TAB)
sql>select tname,tabtype from tab order by tabtype;
--afficher le nbre de table crée par le compte hr à partir du compte SYSTEM
sql>select count (*) from dba_tables where owner='HR';
--afficher les tables existantes dans le dictionnaire
sql>describe dictionary;
2. --Quel est le rôle de la vue dba_tables;
sql system>select comments from dictionary where table_name like 'DBA_TABLES';
--Quelles sont les vues qui traitent sur les blocks de stockage
sql system> select table_name,comments from dictionary where table_name like
'%BLOCK%';
--quel est la signification de la colones owner de la vue dba_tables;
sql system>select comments from dict_columns where table_name='DBA_TABLES' and
column_name='OWNER'; //explication
--afficher la liste des objets créer par le compte HR triées par type d'objet
sql syst> describe dba_objects;
sql syst> select object_type,object_name,created,last_dll_time from dba_objects
where owner='HR' order by object_type;
sql syst> select object_name,to_char(last_ddl_time,'dd/mm/yyyy hh:mi')
from dba_objects where owner='HR' order by last_ddl_time;
--afficher les contraintes cré par le compte HR: dba_constraints
sql system>describe dba_contraints
sql system>select constraint_type, constraint_name,table_name, r_owner from
dba_constraints
where owner='HR'
order by constraint_type; //r :foreign key ; c:cheack
---------------------------
--quelles sont les sessions en cours de cnx à lBD:
>describe v$session;
--identifier tt les session qui s'ouvrent avec un outil
>select sid,serial#,username,program from v$session where program like '%sql%';
//
--arreter la session du cpte HR lancé avec sqlplus
sql system>alter system kill session '216,27'; -- <sid>,<serial#>
--chercher tt les vues qui nous donnet des infos sur les utilisateurs oracle:
>select table_name,comments from dictionary
where table_name like 'D%TABLES%'
order by table_name;
----------------------------------Le18/03/2011--------3/
---Donnez les noms,types ainsi que les propriétaires de tous les objets sur
lesquels le compte HR a des droits sans qu’il soit proprietaire.
>select object_name,object_type from all_object where owner<>'hr'
group by owner;
--on cré un nouvelle compte
>create user hr3 identified by hr;
>grant create session to hr3;
>select count(*)from all_tables where owner='SCOTT';
---Ecrire une requette sql qui affiche pour un compte donné(hr)le nom et la date
de creation des tables de comptes.
> describe dba_tables;
> select object_name,created from dba_objects
where(object_type='TABLE')and(owner='HR')
order by object_name;
---se substituer au compte SYS
>connect system/nihed as sysdba;
3. ---creation de procedure PS_Get_TABLE_OF_USER
>create or replace procedure PS_Get_TABLE_OF_USER(arg_user varchar2) Is
cursor cr_tab_user is select object_name,created from dba_objects
where (object_type='TABLE')and(owner=arg_user)
order by object_name;
begin
dbms_output.enable;
for vl_cl in cr_tab_user loop
dbms_output.put_line('nom de table: '|| vl_cl.object_name ||vl_cl.created );
end loop;
end;
/
execute PS_Get_TABLE_OF_USER('HR');
select owner ,count(*) from dba_tables group by owner
select constraint_name,constraint_type from dba_constraints where owner='HR';
-- liste des contraintes créés par le compte hr
select constraint_name,constraint_type from user_constraints;
-- afficher les info de la taille memoire SGA
select * from v$sga;
-- recuperation de la base a partir ddes fichiers sauvgardes
-- afficher les fichier de groupe de journalisation
select GROUP#,TYPE,MEMBER from v$logfile;