RAC重用裸设备
在重新搭建一套RAC环境的时候,因为不想多建新的OCR/VOTING DISK共享磁盘,就打算使用上一套RAC环境中用过的共享磁盘。也考虑过,
环境:
VBOX
Oracle ENTERPRISE LINUX 5.8_X86_64
ORACLE DATABASE 10.2.0.1.0
ORACLE CLUSTERWARE 10.2.0.1.0
在重新搭建一套RAC环境的时候,因为不想多建新的OCR/VOTING DISK共享磁盘,就打算使用上一套RAC环境中用过的共享磁盘。也考虑过,重用这些共享磁盘,可能会出一些状况,打算尝试一下,看看在哪些步骤上会出问题。
推荐阅读:
裸设备创建ASM磁盘
Oracle通过软连接裸设备建库
AIX系统下增加Oracle temp 表空间 (裸设备方式)
为了减少出错几率,在使用UDEV绑定裸设备(共有5个裸设备供OCR、VOTING DISK使用,OCR: /dev/raw/raw1-/dev/sdb1; /dev/raw/raw2-/dev/sdc1; VOTING DISK: /dev/raw/raw3-/dev/sdd1; /dev/raw/raw4-/dev/sde1; /dev/raw/raw5-/dev/sdf1)之前,把原分区sdb1, sdc1, sdd1, sde1, sdf1用fdisk删除并重建了分区。
开始安装CLUSTERWARE,安装过程没有问题,,按照上面的分布方式把裸设备分配给了OCR/VOTING DISK。
但是在第一个节点执行$ORA_CRS_HOME/root.sh时,报错:
[root@rac5 rules.d]# /s01/app/oracle/product/10.2.0/crs_1/root.sh
WARNING: directory '/s01/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/s01/app/oracle/product' is not owned by root
WARNING: directory '/s01/app/oracle' is not owned by root
WARNING: directory '/s01/app' is not owned by root
WARNING: directory '/s01' is not owned by root
Checking to see if Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Failed to upgrade Oracle Cluster Registry configuration
同时发现:
[root@rac5 rules.d]# ll /dev/raw/
total 0
crw-r----- 1 root oinstall 162, 1 Apr 7 08:12 raw1
crw-r----- 1 root oinstall 162, 2 Apr 7 08:12 raw2
crw-r--r-- 1 oracle oinstall 162, 3 Apr 7 08:12 raw3
crw-r--r-- 1 oracle oinstall 162, 4 Apr 7 08:12 raw4
crw-r--r-- 1 oracle oinstall 162, 5 Apr 7 08:12 raw5
查看日志:
/s01/app/oracle/product/10.2.0/crs_1/log/rac5/client/ocrconfig_6661.log
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle. All rights reserved.
2014-04-07 08:12:14.376: [ OCRCONF][1305384672]ocrconfig starts...
2014-04-07 08:12:14.376: [ OCRCONF][1305384672]Upgrading OCR data
2014-04-07 08:12:14.390: [ OCRCONF][1305384672]OCR already in current version.
2014-04-07 08:12:14.406: [ OCRCONF][1305384672]Failed to call clsssinit (21)
2014-04-07 08:12:14.406: [ OCRCONF][1305384672]Failed to make a backup copy of OCR
2014-04-07 08:12:14.406: [ OCRCONF][1305384672]Exiting [status=failed]...
果然,“不负我望”,还是出问题了,看来用fdisk不解决问题啊!
查了一番帖子,采用了如下方式:
[root@rac5 rules.d]# dd if=/dev/zero of=/dev/sdb1
dd: writing to `/dev/sdb1': No space left on device
1044163+0 records in
1044162+0 records out
534610944 bytes (535 MB) copied, 76.6793 seconds, 7.0 MB/s
[root@rac5 rules.d]# dd if=/dev/zero of=/dev/sdc1
dd: writing to `/dev/sdc1': No space left on device
1044163+0 records in
1044162+0 records out
534610944 bytes (535 MB) copied, 74.1222 seconds, 7.2 MB/s
[root@rac5 rules.d]# dd if=/dev/zero of=/dev/sdd1
dd: writing to `/dev/sdd1': No space left on device
1044163+0 records in
1044162+0 records out
534610944 bytes (535 MB) copied, 76.5027 seconds, 7.0 MB/s
[root@rac5 rules.d]# dd if=/dev/zero of=/dev/sde1
dd: writing to `/dev/sde1': No space left on device
1044163+0 records in
1044162+0 records out
534610944 bytes (535 MB) copied, 75.4561 seconds, 7.1 MB/s
[root@rac5 rules.d]# dd if=/dev/zero of=/dev/sdf1
dd: writing to `/dev/sdf1': No space left on device
1044163+0 records in
1044162+0 records out
534610944 bytes (535 MB) copied, 74.4116 seconds, 7.2 MB/s
然后重新执行root.sh,就成功了!其实我对dd也不熟悉,查了一下说法:/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。
好吧,就是把之前被用过的几个裸设备变成彻底空白。就可以重新使用了。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

La méthode pour résoudre le problème de fermeture du curseur Oracle comprend: la fermeture explicite du curseur à l'aide de l'instruction Close. Déclarez le curseur dans la clause de mise à jour pour la fermeture automatiquement après la fin de la portée. Déclarez le curseur dans la clause d'utilisation afin qu'il se ferme automatiquement lorsque la variable PL / SQL associée est fermée. Utilisez la gestion des exceptions pour vous assurer que le curseur est fermé dans toute situation d'exception. Utilisez le pool de connexion pour fermer automatiquement le curseur. Désactiver la soumission automatique et le délai de fermeture du curseur.

Dans Oracle, la boucle pour la boucle pour créer des curseurs dynamiquement. Les étapes sont: 1. Définissez le type de curseur; 2. Créez la boucle; 3. Créez le curseur dynamiquement; 4. Exécuter le curseur; 5. Fermez le curseur. Exemple: un curseur peut être créé de cycle par circuit pour afficher les noms et salaires des 10 meilleurs employés.

Les instructions SQL peuvent être créées et exécutées en fonction de l'entrée d'exécution en utilisant Dynamic SQL d'Oracle. Les étapes comprennent: la préparation d'une variable de chaîne vide pour stocker des instructions SQL générées dynamiquement. Utilisez l'instruction EXECUTER IMMÉDIATE OU PRÉPEPART pour compiler et exécuter les instructions SQL dynamiques. Utilisez la variable Bind pour passer l'entrée utilisateur ou d'autres valeurs dynamiques à Dynamic SQL. Utilisez EXECUTER immédiat ou exécuter pour exécuter des instructions SQL dynamiques.

Les solutions à Oracle ne peuvent pas être ouvertes comprennent: 1. Démarrer le service de base de données; 2. Commencez l'auditeur; 3. Vérifiez les conflits portuaires; 4. Définir correctement les variables d'environnement; 5. Assurez-vous que le pare-feu ou le logiciel antivirus ne bloque pas la connexion; 6. Vérifiez si le serveur est fermé; 7. Utilisez RMAN pour récupérer les fichiers corrompus; 8. Vérifiez si le nom du service TNS est correct; 9. Vérifier la connexion réseau; 10. Réinstaller le logiciel Oracle.

Les déclencheurs d'Oracle sont des procédures stockées utilisées pour effectuer automatiquement des opérations après un événement spécifique (insérer, mettre à jour ou supprimer). Ils sont utilisés dans une variété de scénarios, notamment la vérification des données, l'audit et la maintenance des données. Lors de la création d'un déclencheur, vous devez spécifier le nom de déclenchement, la table d'association, l'événement de déclenchement et le temps de déclenchement. Il existe deux types de déclencheurs: le déclencheur avant est tiré avant l'opération, et le déclencheur après est tiré après l'opération. Par exemple, le déclencheur avant l'insertion garantit que la colonne d'âge de la ligne insérée n'est pas négative.

Un rapport AWR est un rapport qui affiche les performances de la base de données et les instantanés d'activité. Les étapes d'interprétation comprennent: l'identification de la date et de l'heure de l'instantané d'activité. Consultez un aperçu des activités et de la consommation de ressources. Analyser les activités de session pour trouver des types de session, la consommation de ressources et les événements d'attente. Trouvez des goulots d'étranglement potentiels de performance tels que des instructions SQL lentes, des problèmes de ressources et des problèmes d'E / S. Affichez les événements d'attente, identifiez-les et résolvez-les pour les performances. Analyser les modèles d'utilisation des verrous et de la mémoire pour identifier les problèmes de mémoire qui causent des problèmes de performances.
