L'interface web de console d'une instance Oracle a été implémentée depuis la version 11G d'Oracle Database. Elle est très utile pour gérer l'ensemble des bases.
Souvent (du moins dans mon cas), lors de l'installation automatique d'Oracle avec la création d'une nouvelle instance, cette interface ne fonctionne pas ou du moins très mal.
Voici comment vérifier, effacer, et reconstruire la DBCONSOLE
1) pour supprimer la configuration existante
EMCA -deconfig dbcontrol db -repos drop
2) Créer le repository
EMCA -repos create
3) Configurer la DBCONSOLE
EMCA -config dbcontrol db
En cas de soucis, lancer en mode graphique ./dbca
Commandes utiles pour la gestion de la DBCONSOLE
- Accèder à l'interface web
http://nom-de-votre-serveur:nom-du-port-de-la-console/em (ou en https)
- Vérifier le status de la console :
EMCTL status dbconsole
- Stopper la console
EMCTL stop dbconsole
- Démarrer la console
EMCTL start dbconsole
Affichage des articles dont le libellé est Oracle 11G. Afficher tous les articles
Affichage des articles dont le libellé est Oracle 11G. Afficher tous les articles
lundi 15 décembre 2014
vendredi 16 mai 2014
Installer ORACLE 11G sur un serveur Linux Noyau REDHAT (exemple un Linux Oracle)
1. Télécharger les fichiers d'installation de la version oracle et les dézipper avec unzip
2. Exécuter la commande :
yum install oracle-rdbms-server-11gR2-preinstall
et suivre les instructions pour installer les packages nécessaires
3. editer le fichier /etc/selinux/config
Modifier la ligne comme suit :
SELINUX=disabled
4. Exécuter les commandes :
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
passwd oracle
rentrer le mot de passe
5. Exécuter la commande :
xhost +<machine-name>
6. Toujours sur le user oracle lancer l'installation :
En étant loggé sur le user oracle via l'interface graphique
Se rendre dans le répertoire ou les fichiers d'installs sont décompressés et taper:
./runInstaller (en cas de problème de permissions, taper chmod -R 777 database)
7. ajouter au fichier /home/oracle/.bash_profile les lignes suivantes :
sans oublier de modifier ORACLE_HOSTNAME avec le nom du poste actuel en configuration (ex: nomdemonserveur.mondomaine.org)
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=nomduposte.domaine; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
8.Se logguer en tant que root et éxécuter :
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
9 Editer le fichier
/etc/oratab
Remplacer le N par Y sur l'instance créée
10. Editer dbstart and dbshut scripts based in /u01/app/oracle/product/11.2.0/dbhome_1/bin/ and change first entry from
ORACLE_HOME_LISTNER=$1
to
ORACLE_HOME_LISTNER=${1:-$ORACLE_HOME}
to avoid error "ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener" on the init or start!
11. Dans le listener.oracd et le tnsnames.ora il faut enlever le suffixe du domaine (mondomaine.org)
Le listener.ora doit contenir :
SID_LIST_LISTENER =
(SID_LIST =
(GLOBAL_DBNAME = [Nom du SID de la base par exemple :ORCL])
(ORACLE_HOME = [Chemin en dur du $ORACLE_HOME par exemple /u01/app/oracle/product/11.2.0/dbhome_1])
(SID_NAME = [Nom du SID de la base par exemple : ORCL])
Exemple de listener fonctionnel:
# listener.ora Network Configuration File: u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = nomdemonserveur)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
12.Création d'un script de démarrage automatique de la base et de l'instance:
loggé en tant que root:
#cd /etc/init.d
#touch dbora
#vim dbora
Coller ce texte dedans:
#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
ORACLE_UNQNAME=orcl
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"
su - $ORA_OWNER -c "$ORA_HOME/bin/sqlplus /nolog"<<!
connect SYS/motdepasse AS SYSDBA
startup
exit
!
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"
;;
esac
quitter par :wq!
rendre le sript exécutable et en auto démarrage:
#chmod u+x /etc/init.d/dbora
#chmod 750 /etc/init.d/dbora
#chgrp dba /etc/init.d/dbora
#chkconfig --add dbora
#chkconfig –-level 2345 dbora on
Vérifier si le script est bon :
./dbora start
emca -config dbcontrol db
Quelques aides:
Pour démarrer le moteur de la base :
$ORACLE_HOME/bin/dbstart
Démarrer la console web
$ORACLE_HOME/bin/emctl start dbconsole
Vérifier que le listener fonctionne
$ORACLE_HOME/bin/lsnrctl
LSNRCTL> stop
LSNRCTL> start (On doit voir affiché l’instance)
LSNRCTL> exit
Montage de la base
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect SYS/[Mot de passe] AS SYSDBA
SQL> startup open
SQL> connect SYS/[Mot de passe]@[SID de la base] AS SYSDBA
si le prompt répond ‘Connected’ c’est que tout est OK !
SQL> exit
Différentes commandes utiles
1. Arrêter une instance :
$ORACLE_HOME/bin/sqlplus /nolog
connect SYS/Mot_De_Passe@SID_de_la_base as SYSDBA
shutdown IMMEDIATE;
2. Vérifier une variable d'environnement
echo NOM_DE_LA_VARIABLE
3. modifier une variable d'environnement temporairement
NOM_DE_LA_VARIABLE=valeur
4. Voir l'ensemble des variables d'environnement :
env
5. Se connecter avec un client ORACLE distant (windows ou linux)
Editer le fichier tnsnames.ora et rajouter les lignes
nom_du_SID=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=nom_de_la_machine_sans_extention_du_domaine)
(PORT=port_ecoute_instance)
)
(CONNECT_DATA=
(SERVICE_NAME=SID_sur_le_serveur)
)
)
jeudi 14 février 2013
ORACLE - Commandes SQL utiles - Common SQL scripts
Liste des connexions actives :
Active Connections list
select userid, max(nvl(logoff$time, sysdate)) last_logoff from sys.aud$ group by userid;
Liste des sessions actives :
Active Sessions list
substr(a.spid,1,9) pid,
substr(b.sid,1,5) sid,
substr(b.serial#,1,5) ser#,
substr(b.machine,1,20) box,
substr(b.username,1,10) username,
-- b.server,
substr(b.osuser,1,8) os_user,
substr(b.program,1,30) program
from v$session b, v$process a
where
b.paddr = a.addr
and type='USER'
order by spid;
Liste des users créés sur une instance
Instance users list
select USERNAME,CREATEDfrom DBA_USERS
where ACCOUNT_STATUS = 'OPEN'
and USERNAME NOT IN ('SYS','SYSTEM','SYSMAN','DBSNMP','MGMT_VIEW')
order by USERNAME;
Information concernant l'instance :
Instance infos
SELECT NAME,PLATFORM_NAME,DB_UNIQUE_NAME FROM V$DATABASE
Version d'ORACLE :
Oracle Version
select * from v$version;
Création d'un répertoire de base de données
Database folder creation
Ceci peut être utile par exemple pour créer un autre répertoire que celui par défaut du DATA_PUMP_DIR
SQL> CREATE DIRECTORY dmpdir
AS '/opt/oracle';
Directory created.
SQL> GRANT read, write ON
DIRECTORY dmpdir TO scott;
Grant succeeded.
Taille d'un schéma (User) en Mo
Ajouter un champ à une table :
Lister les répertoires
select * from dba_directories;
Taille d'un schéma (User) en Mo
Mo Used for a schema (User)
select a.owner username, round(sum(a.bytes)/1024/1024,2) "Taille (Mo)" from dba_segments a, (select tablespace_name, sum(bytes) total_space from dba_data_files group by tablespace_name) b where a.tablespace_name not in ('SYSAUX', 'SYSTEM', 'UNDOTBS1', 'UNDOTBS2') and a.tablespace_name = b.tablespace_name and a.owner='Mon_User' group by a.tablespace_name, a.owner, b.total_space/1024/1024
Ajouter un champ à une table :
Add a Table Column
ALTER TABLE [ schema. ]table ADD { ( column [ datatype ] ) } ;
ALTER TABLE MATABLE ADD (MONCHAMP NUMBER(15,2));
Connaitre le nom du champ et de la table sur lesquels une contrainte est définie
Connaitre le nom du champ et de la table sur lesquels une contrainte est définie
Constraint : Table and column name referent
select * from ALL_CONS_COLUMNS where CONSTRAINT_NAME like '......%'
Connaitre le Paramétrage du Character Set de l'Instance :
SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET' ;
Bonnes pratiques pour créer les TABLESPACES :
CREATE DIRECTORY DUMPS_MOI AS 'I:\DUMPS_MOI';
GRANT read, write ON DIRECTORY DUMPS_MOI TO system;
CREATE TABLESPACE V9_DATA DATAFILE
'I:\oracle\PERF11R2\V9_DATA1.DBF' SIZE 33554416K AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED,
'I:\oracle\PERF11R2\V9_DATA2.DBF' SIZE 33554416K AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED,
'I:\oracle\PERF11R2\V9_DATA3.DBF' SIZE 10240M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
CREATE TEMPORARY TABLESPACE V9_TEMPORAIRE TEMPFILE
'I:\oracle\PERF11R2\V9_TEMPORAIRE' SIZE 228M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
TABLESPACE GROUP ''
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
CREATE UNDO TABLESPACE V9_ROLLBACK DATAFILE
'I:\oracle\PERF11R2\V9_ROLLBACK' SIZE 360M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
ONLINE
RETENTION NOGUARANTEE
BLOCKSIZE 8K
FLASHBACK ON;
Bonnes pratiques pour créer les TABLESPACES :
CREATE DIRECTORY DUMPS_MOI AS 'I:\DUMPS_MOI';
GRANT read, write ON DIRECTORY DUMPS_MOI TO system;
CREATE TABLESPACE V9_DATA DATAFILE
'I:\oracle\PERF11R2\V9_DATA1.DBF' SIZE 33554416K AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED,
'I:\oracle\PERF11R2\V9_DATA2.DBF' SIZE 33554416K AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED,
'I:\oracle\PERF11R2\V9_DATA3.DBF' SIZE 10240M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
CREATE TEMPORARY TABLESPACE V9_TEMPORAIRE TEMPFILE
'I:\oracle\PERF11R2\V9_TEMPORAIRE' SIZE 228M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
TABLESPACE GROUP ''
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
CREATE UNDO TABLESPACE V9_ROLLBACK DATAFILE
'I:\oracle\PERF11R2\V9_ROLLBACK' SIZE 360M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
ONLINE
RETENTION NOGUARANTEE
BLOCKSIZE 8K
FLASHBACK ON;
Inscription à :
Articles (Atom)