AppSync : Les bases de données Oracle s’exécutant sur un disque ASM sont détectées comme étant hors ligne
Summary: AppSync détecte la base de données Oracle comme étant hors ligne, si elles sont en cours d’exécution sur le disque ASM. Un plan de service protégeant cette base de données échoue lors de la phase de découverte. ...
Symptoms
Un utilisateur voit l’état de la base de données comme « OK » sous AppSync GUI -> Copy management -> Copies -> Oracle Application.
Toutefois, le plan de service protégeant cette base de données échoue lors de la phase de découverte. Un utilisateur voit les erreurs ci-dessous dans les journaux d’événements.
<DATE & TIME>,Application discovery,21cc64f3-795a-42d0-aab5-818615d0e645,MILE_000005,<AppSync Server>,Application discovery phase for <Database Name> completed with errors <DATE & TIME>,Application discovery,21cc64f3-795a-42d0-aab5-818615d0e645,ORCL_000104,<AppSync Server>,During discovery, AppSync detected that the following database(s) were offline: <Database Name>. As a result, they will not be available for protection.
Dans les logs du serveur, AppSync envoie la commande checkdatabase, puis échoue :
<Date TIME> INFO [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.service.eventservice.EventServiceBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> EVENT [ORCL_000064]: Protecting the Oracle database <Database Name> with hot backup mode disabled.(METADATA: TYPE-INFO, TIME-2022-03-03 10:34:10.227-0600NATIVETIME-2022-03-03 10:34:10.227-0600, HOST-<AppSync Server>, PHASE-Application discovery, THREAD=EE-ManagedExecutorService-default-Thread-5, USER-admin, CATEGORY-GENERIC, SESSIONID-) <Date TIME> DEBUG [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.commands.application.oracle.DiscoverOracleDatasetsCommandBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> Started Executing isASMRequired <Date TIME> DEBUG [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.commands.application.oracle.DiscoverOracleDatasetsCommandBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> DB Name: <Database Name> <Date TIME> DEBUG [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.commands.application.oracle.DiscoverOracleDatasetsCommandBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> Completed Executing isASMRequired.... <Date TIME> DEBUG [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.commands.application.oracle.DiscoverOracleDatasetsCommandBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> Is ASM required for OracleAPP? : true <Date TIME> INFO [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.commands.application.oracle.DiscoverOracleDatasetsCommandBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> ASM Rediscover Dataset Required? true <Date TIME> INFO [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.commands.application.oracle.DiscoverOracleDatasetsCommandBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> Checking ASM and Database instances on host: 192.168.8.206 <Date TIME> INFO [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.service.oracleservice.OracleServiceBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> Beginning task for checkDatabase operation on <source host> task=1f5795f8-1932-4eec-8c0b-40a7e74601dc <Date TIME> INFO [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.service.sshservice.SshServiceBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> Copying AppSync request...<ir_message ir_requestId="00000" ir_sessionId="00000" ir_status="0" ir_type="ArchwayRequest" master_id="0" phaseName="" pollMode="SYNC" taskId="0" timeToWait="0"><operation><agent>Oracle</agent><command>checkDatabase</command><parameters><parameter><paramName>oracleSid</paramName><paramValue><Database Name>1</paramValue></parameter><parameter><paramName>oracleHome</paramName><paramValue>/oracle/app/oracle/product/19.0.0.0/dbhome_1</paramValue></parameter></parameters></operation><version>1.0</version></ir_message> <Date TIME> INFO [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.services.agent.AgentServiceBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> String response: <ir_message ir_requestId="00000" ir_sessionId="00000" ir_status="0" ir_type="ArchwayRequest" master_id="0" phaseName="" pollMode="SYNC" taskId="0" timeToWait="0"><operation><agent>Oracle</agent><command>checkDatabase</command><parameters><parameter><paramName>oracleSid</paramName><paramValue><Database Name>1</paramValue></parameter><parameter><paramName>oracleHome</paramName><paramValue>/oracle/app/oracle/product/19.0.0.0/dbhome_1</paramValue></parameter></parameters><result return="0"/><responses><response><![CDATA[<oracleStatus><status>true</status><state>OPEN</state></oracleStatus>]]></response></responses></operation><version>1.0</version></ir_message> <Date TIME> INFO [EE-ManagedExecutorService-default-Thread-5] [com.emc.archway.service.eventservice.EventServiceBean] [<AppSync Server>] [] 0fc79d48-60a7-4960-a9dd-558fd6e4e4c8->>> EVENT [ORCL_000104]: During discovery, AppSync detected that the following database(s) were offline: <Database Name>. As a result, they will not be available for protection.
Dans les logs de l’agent, la base de données est en ligne car l’état est OPEN.
<Date TIME> acp.py[116]:main() Command: checkDatabase <Date TIME> oracle.py[1727]:__init__() Info:Setting LD_LIBRARY_PATH=/oracle/app/oracle/product/19.0.0.0/dbhome_1/lib <Date TIME> oracle.py[1955]:runProgram() Running ASM command ::: ['/oracle/app/oracle/product/19.0.0.0/dbhome_1/bin/orabase'] <Date TIME> oracle.py[5215]:_sqlQuery() SQL*Plus Query: select 'AppSync_entry:'|| status from v$instance; <Date TIME> oracle.py[5243]:_sqlQuery() SQL*plus > SQL> SQL> SQL> SQL> SQL> <Date TIME> oracle.py[5243]:_sqlQuery() SQL*plus > 'APPSYNC_ENTRY:'||STATUS <Date TIME> oracle.py[5243]:_sqlQuery() SQL*plus > -------------------------------------------- <Date TIME> oracle.py[5243]:_sqlQuery() SQL*plus > AppSync_entry:OPEN
Cause
La base de données qui s’exécute sur le disque ASM et AppSync n’est pas en mesure de trouver la base ASM, car elle interroge le fichier oratab pour la base Oracle et la base ASM. Alors que le fichier oratab ne contenait pas d’entrée pour ASM. Il ne comporte qu’une entrée pour la base de données.
Resolution
Ajoutez l’entrée dans le fichier oratab pour la base de données et l’instance ASM.
Format: <ASM SID>:<grid_home>:Y|N
Exemple d’entrée de notre configuration de laboratoire :
DB1:/u01/app/oracle/product/19c/db_home:N # entry for DB +ASM:/u01/app/grid/product/19c/grid_home:N # entry for ASM instance