解决ORACLE 11g rac(11.2.0.1) 生产库scanip无法使用的故障
SCANIP是ORACLE11G数据库的新特性,使用它可以简化客户端的vip配置,本单位去年搭建ORACLE11RAC环境时,由于搭建仓促,未对SCANIP进行测试,今年由于业务需要,
SCANIP是ORACLE11G数据库的新特性,香港服务器,使用它可以简化客户端的vip配置,本单位去年搭建ORACLE11 RAC环境时,由于搭建仓促,未对SCANIP进行测试,今年由于业务需要,需在多台客户端配置SCANIP时,发现SCANIP无法使用,报错截图如下:
随后在google中搜索解决,但也遇到点问题,特将解决步骤写下:
测试SCANIP地址
tnsping test
没有问题。
测试端口
telnet 172.16.5.40 1521
正常。
查看linux服务器hosts配置:
cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
# Public Network
172.16.5.30 test1
172.16.5.31 test2
172.16.5.32 test3
# Private Network
20.20.20.1 test1-priv
20.20.20.2 test2-priv
20.20.20.3 test3-priv
# Public Virtual IP
172.16.5.35 test1-vip
172.16.5.36 test2-vip
172.16.5.37 test3-vip
# Single Client Access Name (SCAN)
172.16.5.40 tscanip
用集群命令检查SCANIP状态:
srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node test1
查看初始化参数文件
show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
DRESS=(PROTOCOL=TCP)(HOST=test
1-vip)(PORT=1521))))
在这里需修改local_listener参数,实现SCANIP地址的注册
修改前先备份初始化参数
create pfile='/home/oracle/bak/spfilebak_20130523_scanip.ora' from spfile;
修改local_listener参数
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.5.35)(PORT=1521))))' scope=both sid='test1';
用命令是修改的值直接生效。
alter system register;
第二个节点修改方法和第一个节点的方法一致。分别测试SCANIP和VIP的连接都没有问题,任务完成。
注:这里需注意的是HOST主机参数为vip的ip地址,不是scanip的地址,如果填写的是scanip地址的话,美国服务器,则修改完参数后,scanip能够正常使用,但如果有客户端配置使用vip的话,则会出现下图所示错误。
只有分别修改两个节点的local_listener参数为两个节点的vip的ip地址,虚拟主机,才能够使scanip和vip地址同时生效!!!
本文出自 “没落的星辰” 博客,请务必保留此出处

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)

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Oracle View Encryption vous permet de crypter les données dans la vue, améliorant ainsi la sécurité des informations sensibles. Les étapes incluent: 1) la création de la clé de cryptage maître (MEK); 2) Création d'une vue cryptée, spécifiant la vue et MEK à crypter; 3) Autoriser les utilisateurs à accéder à la vue cryptée. Comment fonctionnent les vues cryptées: lorsqu'un utilisateur interroge pour une vue cryptée, Oracle utilise MEK pour décrypter les données, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données lisibles.

Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

Désinstaller la méthode pour la défaillance de l'installation d'Oracle: Fermez le service Oracle, supprimez les fichiers du programme Oracle et les clés de registre, désinstallez les variables d'environnement Oracle et redémarrez l'ordinateur. Si la désinstallation échoue, vous pouvez désinstaller manuellement à l'aide de l'outil Oracle Universal Disinstal.

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.

Les erreurs numériques non valides d'Oracle peuvent être causées par un décalage du type de données, un débordement numérique, des erreurs de conversion de données ou une corruption des données. Les étapes de dépannage incluent la vérification des types de données, la détection des débordements numériques, la vérification des conversions de données, la vérification de la corruption des données et l'exploration d'autres solutions possibles telles que la configuration du paramètre NLS_NUMERIC_CHARACTERS et activer la journalisation de vérification des données.

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.

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.
