Avec Oracle 12c, La taille maximale des types de données VARCHAR2,
NVARCHAR2 et RAW a été augmentée de 4000 à 32767 octets.
Cette augmentation pour ces types de données permet aux développeur de stocker
plus d'informations avec ces types de données avant de passer aux objets
volumineux tels que les LOB. C'est particulièrement utile pour les types de
données textuelles, et on peut construire des index sur ces types de colonnes.
Bienvenue sur mon blog ! Ce blog me sert principalement d'aide mémoire sur des commandes, des tâches journalières, des problèmes rencontrées, des trucs, des astuces, etc. De jours en jours, je l'alimente avec des sujets que je traite. En créant des articles, je m'offre la chance de pouvoir retrouver facilement ces informations et par le fait même, ça me permet de les partager avec vous.
lundi 5 mai 2014
mercredi 30 avril 2014
Génération de valeur par défaut de colonne à partir d'une séquence
Avec 12c, la valeur par défaut d’une colonne de table peut
directement référer une séquence Oracle. Les valeurs possibles sont
[sequence.CURVAL] et [sequence.NEXTVAL]. Cette nouvelle possibilité simplifie
le développement de code.
samedi 12 avril 2014
Utilitaires de migration/conversion de jeu de caractères
Avec Oracle Database 12c Release 1 (12.1), un assistant de migration de base de données pour Unicode (DMU) est inclut et ce dernier fournit une solution complète qui simplifie la migration des bases de données d'un jeu de caractères existants vers un jeu de caractères de type Unicode. Cet assistant devient la méthode officiellement prise en charge pour la migration vers le jeu de caractères Unicode. Les utilitaires de base de données CSSCA et CSALTER ne font plus parti de la distribution et ils ne sont plus supportés. De plus, l'assistant DMU prend également en charge la migration des bases de données des versions antérieures (10.2, 11.1, et 11.2).
mardi 12 novembre 2013
Instance Caging
Nous avons tendance à croire que le paramètre « cpu_count »
de la base de données permet de restreindre le nombre de processeurs que la
base de données peut utiliser, et ce n’est évidemment par le cas. On doit s’en
remettre à d’autres fonctionnalités telles qu l’ « Instance caging »
disponible avec Oracle Database Entreprise Edition 11g Release 2.
Instance Caging est un outil permettant de gérer et de
limiter l’utilisation de processeurs par base de données. L’ « Instance
caging » est particulièrement intéressant car il protège les bases de
données qui se partagent des ressources d’être impacter par une base de données
dont des processus exigeant et gourmand s’approprient l’ensemble des ressources
et, qui a pour effet d’ébranler tous les systèmes desservis par celles-ci.
Une stratégie pour déterminer le nombre de processeurs par
instance est d’activer l’ « instance
caging » puis de surveiller l’utilisation des processeurs par l’instance.
Ceci peut être fait via cette requête :
select to_char(begin_time,
'HH24:MI') time,
max(running_sessions_limit) cpu_count,
sum(avg_running_sessions)
avg_running_sessions,
sum(avg_waiting_sessions)
avg_waiting_sessions
from v$rsrcmgrmetric_history
group by begin_time
order by begin_time;
Grâce aux résultats obtenus lors de l’exécution de la requête,
on peut se baser sur ceci :
·
Si la valeur de la colonne « avg_running_sessions »
est fréquemment inférieure à la valeur du « CPU_COUNT », cela nous
indique que nous pouvons diminuer la valeur de « CPU_COUNT » sans
impacter la performance.
·
Si la valeur de la colonne « avg_waiting_sessions »
est constamment supérieure à la valeur du « CPU_COUNT » et que le
temps réponse est en deçà des attentes, ceci indique que le CPU_COUNT est
possiblement insuffisant et que la performance peut être accrue en augmentant
sa valeur, en autant qu’il en a de disponible.
Après quelques jours, vous aurez des statistiques sur lesquelles
vous pourrez vous baser pour restreindre le nombre de processeurs utilisés par
une instance.
Pour la mise en place de l’ « instance caging »,
il suffit de faire ceci :
SQL> ALTER
SYSTEM SET CPU_COUNT = 8 SCOPE=SPFILE;
SQL> ALTER
SYSTEM SET RESOURCE_MANAGER_PLAN = 'DEFAULT_PLAN' SID=’*’ SCOPE=’BOTH’;
En utilisant le plan par défaut d’Oracle Resource Manager, il
n’y aura pas d’impact car il n’y a aucune limitation.
Prendre note qu’il est mention de processeurs dans ce texte
mais si vous avez des processeurs de type « Hyper-Threading », la
valeur de « cpu_count » correspond plutôt à un nombre de « threads ».
La vue V$RSRCMGRMETRIC_HISTORY affiche l'historique des statistiques d'Oracle Resource Manager qui proviennet de la vue V$RSRCMGRMETRIC. Seulement la dernière heure est conservée. Cette vue fournit des informations sur l'utilisation des ressources et les temps d'attente par groupe de consommateur.
Vous pouvez consulter le lien ci-dessous. Il traite aussi de l'instance caging :
http://www.oracle-base.com/articles/11g/instance-caging-to-manage-cpu-usage-in-oracle-database-11gr2.php
La vue V$RSRCMGRMETRIC_HISTORY affiche l'historique des statistiques d'Oracle Resource Manager qui proviennet de la vue V$RSRCMGRMETRIC. Seulement la dernière heure est conservée. Cette vue fournit des informations sur l'utilisation des ressources et les temps d'attente par groupe de consommateur.
Vous pouvez consulter le lien ci-dessous. Il traite aussi de l'instance caging :
http://www.oracle-base.com/articles/11g/instance-caging-to-manage-cpu-usage-in-oracle-database-11gr2.php
Libellés :
cpu_count,
instance cagin,
Resource Manager,
resource_manager_plan
mercredi 9 octobre 2013
Création d'un dossier partagé entre l'hôte et l'invité sous Oracle VM VirtualBox
Dans le gestionnaire des machines d'Oracle VM VirtualBox :
Ensuite, démarrer la machine virtuelle (s'il y a lieu) puis :
Si vous voulez que le répertoire partagé soit automatiquement accessible après un redémarrage de la machine virtuelle, ajouter une ligne semblable au fichier "/etc/fstab" sous la forme suivante :
sharename mountpoint vboxsf defaults 0 0
Exemple:
download /download vboxsf defaults 0 0
Je crois que les additions invité (vbox additions) doivent être installées sur la machine virtuelle pour que cette procédure fonctionne.
- Cliquer sur le nom de la machine virtuelle
- Dans la section de droite, cliquer sur "Dossiers partagés"
- Ajouter un dossier partagé en cliquant sur le bouton. Il vous suffit de spécifier un emplacement existant sur l'hôte puis de lui attribuer un nom.
Ensuite, démarrer la machine virtuelle (s'il y a lieu) puis :
- Ouvrir une fenêtre de terminal
- connectez-vous avec "root"
su root
- Positionnez-vous à la racine
cd /
- Créer un répertoire. Vous pouvez spécifier le nom qui vous convient
mkdir download
- Créer un lien entre le répertoire partagé et le répertoire créé précédemment. Ceci aura pour effet de rendre accessible le contenu du répertoire
mount -t vboxsf /download download
- Vérifier la configuration en faisant affiché le contenu du répertoire partagé
ls -al /download
Si vous voulez que le répertoire partagé soit automatiquement accessible après un redémarrage de la machine virtuelle, ajouter une ligne semblable au fichier "/etc/fstab" sous la forme suivante :
sharename mountpoint vboxsf defaults 0 0
Exemple:
download /download vboxsf defaults 0 0
Je crois que les additions invité (vbox additions) doivent être installées sur la machine virtuelle pour que cette procédure fonctionne.
Libellés :
MACHINE VIRTUELLE,
mount,
vboxsf,
VIRTUALBOX
mardi 8 octobre 2013
Déplacement d'un disque .vdi d'une machine virtuelle sous Oracle VM VirtualBox
Si vous voulez déplacer un disque assigné à une machine virtuelle vers un autre disque sur la machine hôte, vous pouvez procéder de cette façon :
- Démarrer le gestionnaire de machines virtuelles d'Oracle VM VirtualBox
- Arrêter la machine virtuelle où le disque est attaché
- Ouvrir le gestionnaire des médias dans le menu "Fichier"
- Sélectionner le disque à déplacer puis cliquer sur le bouton "Libérer"
- Fermer le gestionnaire des médias
- Déplacer le fichier .vdi vers le nouvel emplacement
- Dans virtualbox, cliquer sur la machine virtuelle
- Cliquer sur "Stockage" dans la section de droite
- Cliquer pour ajouter un disque dur et appuyer sur le bouton "Choisir un disque existant"
- Ouvrir le gestionnaire des médias dans le menu "Fichier"
- Supprimer la référence au disque qui est invalide car le fichier a été déplacer
- Démarrer la machine virtuelle pour vérifier qu'elle est correcte
mardi 1 octobre 2013
Librairie "libclntsh.so.11.1" manquante lors du démarrage d'ADRCI
En voulant démarrer l'utilitaire ADRCI sur un environnement Oracle Middleware, j'ai rencontré l'erreur suivante:
adrci: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
adrci: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
Pour résoudre cette erreur, il suffit d'assigner l'emplacement de la librairie à l'aide de la variable d'environnement LD_LIBRARY_PATH. Voici la démarche complète :
[oracle@LABVMSL64-WLSEE]$ adrci
adrci: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
[oracle@LABVMSL64-WLSEE]$ which adrci
/u01/oracle/Middleware/wlserver_10.3/server/adr/adrci
[oracle@LABVMSL64-WLSEE]$ ldd /u01/oracle/Middleware/wlserver_10.3/server/adr/adrci
linux-gate.so.1 => (0xffffe000)
libclntsh.so.11.1 => not found
libnnz11.so => not found
libdl.so.2 => /lib/libdl.so.2 (0x00b87000)
libm.so.6 => /lib/libm.so.6 (0x00ba7000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00b8d000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00d0a000)
libc.so.6 => /lib/libc.so.6 (0x00a3f000)
/lib/ld-linux.so.2 (0x00a21000)
[oracle@LABVMSL64-WLSEE]$ echo $LD_LIBRARY_PATH
/u01/oracle/Middleware/patch_wls1036/profiles/default/native:/u01/oracle/Middleware/wlserver_10.3/server/native/linux/i686:/u01/oracle/Middleware/wlserver_10.3/server/native/linux/i686/oci920_8
[oracle@LABVMSL64-WLSEE]$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/u01/oracle/Middleware/wlserver_10.3/server/adr
[oracle@LABVMSL64-WLSEE]$ adrci
ADRCI: Release 11.2.0.2.0 - Production on Tue Oct 1 14:57:48 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
No ADR base is set
adrci>
Libellés :
ADRCI,
LD_LIBRARY_PATH,
ldd,
libclntsh,
Middleware
S'abonner à :
Messages (Atom)