Démarrer Oracle
su - oracle
cd $ORACLE_HOME/bin
./lsnrctl start --> démarrage du TNS
export ORACLE_SID=
sqlplus '/ as sysdba'
startup
quit
Se connecter en tant que sysdba
Se connecter en avec l'utilisateur oracle (utilisateur unix) sur la machine hébergeant l'instance, puis :sqlplus / as sysdba
sometimes it could be
sqlplus system/monpasswd as sysdba
Sous windows:
sqlplus "/ as sysdba"
Voir les logs
SELECT object_name, session_id , oracle_username , os_user_name, VLO.object_id, PROCESSFROM v$locked_object VLO INNER JOIN dba_objects DO ON VLO.object_id = DO.object_id;
Unlocker une table
select sid, serial# from v$session where sid in (SELECT session_id FROM v$locked_object);
alter system kill session 'sid, serial';
USER
Lister
select USERNAME, PASSWORD from DBA_USERS order by USERNAME;
Créer
CREATE USER PHARERHCSD IDENTIFIED BY PHARERHCSD
DEFAULT tablespace PHARERHCSD;
GRANT CONNECT,RESOURCE,DBA to PHARERHCSD;
connect PHARERHCSD/PHARERHCSD
Modifier
Changer le password
ALTER USER IDENTIFIED BY
ALTER USER IDENTIFIED BY ;
Lister toutes les tables
Lister toutes les tables de l'utilisateurselect * from user_tables
Lister toutes les tables
select * from all_tables
Tablespace
Lister
select * from USER_TABLESPACESCréer
create tablespace PHARERHCSD datafile '/data/ora/D59A001/u03/dta_PHARERHCSD.dbf'
size 10M
autoextend on maxsize 200M
extent management local uniform size 64K;
Supprimer
DROP TABLESPACE DTA_ELECTION_ISOPROD_20081216
INCLUDING CONTENTS CASCADE CONSTRAINTS;
DROP TABLESPACE tbs_02 INCLUDING CONTENTS AND DATAFILES;
Libérer de l'espace disque
ALTER DATABASE DATAFILE '/data/ora/D59A001/u03/dta_ELECT_isoprod_20081216.dbf' offline DROP;
conn / as sysdba
shutdown immediate;
startup mount
host
$ cp /u01/oradata/tools01.dbf /u06/oradata/tools01.dbf
$ exit
alter database rename file '/u01/oradata/tools01.dbf' to '/u06/oradata/tools01.dbf';
alter database open
host
$ rm /u01/oradata/tools.01.dbf
$ exit
Si le message est :
ORA-01034: ORACLE not available, cela signifie que l'instance n'est pas démarrée. Et pour démarrer l'instance oracle :
export ORACLE_SID
sqlplus /nolog
connect as sysdba
startup
Pour créer un tablespace
sqlplus system/pwd
CREATE TABLESPACE MYTABLESPACE DATAFILE '/export/oradata/mynamespace.dbf' size 5M MINIMUM EXTENT 65536 DEFAULT STORAGE (initial 1M next 1M MAXEXTENTS 500 PCTINCREASE 0);
Pour contrôler le listener :
lsnrctl stop
lsnrctl start
lsnrctl services
Voici un exemple de fichier listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER_MYDB =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.mycompany.com)(PORT = 1521))
)
)
Voici un exemple de fichier TNSNAMES.ORA
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.mycompany.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mydb.mycompany.com)
)
)
Si le message est no services started il y a une erreur d'écriture dans le fichier listener.ora
Exporter des données, créer des dumps oracle :
Dump binaire
Il existe deux manière pour exporter les donnée. La première consiste à faire un dump binaire, le dump binaire peut uniquement s'importer à l'aide de la commande imp.exp userid=MYUSERFROM@MYSID file=D:\export_full.dump log=d:\export_full.log
Sur oracle 11 préferer la commande
create directory dump_dir as '/home/oracle/dump';
GRANT CREATE ANY DIRECTORY TO myuser;
expdp SILAADD/SILAADD DUMPFILE=my_dump.dmp DIRECTORY=dump_dir SCHEMAS=SILAADD
Dump SQL oracle
En utilisant SQL developer il est également possible de faire des dumps SQL, lesquels peuvent être chargé par SQL*PLUS. Aller dans le menu Outils --> Export de données.Puis renseigner les options :
Importer des données, insérer des dumps oracles :
imp system/mymdp@mydb file=/local/schemas/mydbdump.dmp FULL=Y ROWS=Y Ignore=Y FROMUSER=MYSRCTABLESPACE TOUSER=MYDSTTABLESPACE
ou
imp system/ouch ROWS=Y Ignore=Y file=D:\export_full.dump TOUSER=MYUSERFROM FROMUSER=MYUSERFROM
Sur oracle 11 préférer la commande
create directory import_dir as '/home/oracle/import';
GRANT CREATE ANY DIRECTORY TO silaadd;
impdp MYSCHEMA/MYSCHEMA remap_schema=MYSCHEMA_PROD:MYSCHEMA DUMPFILE=mysqchema_prod_20092013.dmp directory=import_dir log=myschema.log
Créer un user
create user myuser identified by myuser_pwd default tablespace MYTABLESPACE temporary tablespace TEMP;
Affecter les droits à cet utilisateur :
grant connect,resource to mydb;
Grant succeeded.
Vérifier que l'on peut se connecter avec cet utilisateur
connect myuser/mypwd
Affecter à cet utilisateur le namespace par défauts
ALTER USER myuser QUOTA UNLIMITED ON MYTABLESPACE;
Créer une instance ORACLE
Plusieurs instances peuvent tourner sur un même numéro de port. Le SID permet de faire la distinction. Dans le plupart des cas, il vaut mieux éviter de créer de nouvelles instances.
Il est suffisant de créer un nouvel utilisateur, l'utilisateur est une notion confondue avec celle du schéma.
Copier le fichier
dbca.rsp et l'éditer
dbca -progress_only -responseFile dbca.rsp
L'instance est créee
Aucun commentaire:
Enregistrer un commentaire