Bonjour,

Je suis en train de mettre en place mes sauvegardes RMAN par scheduler job dans la base.

j'ai un script qui fonctionne très bien en crontab.

Authentification au catalog RMAN et à la base de données est réalisé au travers d'un WALLET.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
-bash-4.2$ cat $ORACLE_HOME/network/admin/sqlnet.ora
## -- Définition du wallet
WALLET_LOCATION =(SOURCE =(METHOD = FILE)(METHOD_DATA =(DIRECTORY = /u02/app/oracle/product/11.2.0/dbhome_1/network/admin)))
 
## -- Définition paramètres de connexions
SQLNET.WALLET_OVERRIDE = TRUE
Et ça fonctionne trés bien (y compris avec le script en crontab)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
-bash-4.2$ echo "select INSTANCE_NAME from v\$instance;" | sqlplus -s /@DG_DBPRODGM as sysdba
 
INSTANCE_NAME
----------------
DBPRODGM
Seulement, lors de l'exécution d'une requête en connexion sqlplus, j'obtiens cette erreur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ERROR: ORA-12578: TNS:wallet open failed SP2-0306: Invalid option. Usage: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM}] [edition=value]] where <logon> ::= <username>[/<password>][@<connect_identifier>] <proxy> ::= <proxyuser>[<username>][/<password>][@<connect_identifier>] SP2-0306: Invalid option. Usage: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM}] [edition=value]] where <logon> ::= <username>[/<password>][@<connect_identifier>] <proxy> ::= <proxyuser>[<username>][/<password>][@<connect_identifier>] SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
J'ai mis un mouchard pour savoir la chaine de connexion générée pour se connecter à la base et c'est bien la même que j'ai utilisée au dessus et en version conrtab (de toute manière le script est le même).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sqlplus -s /@DG_DBPRODGM as sysdba

Avez-vous une idée pourquoi je n'arrive pas à utiliser le Waller en mode scheduler job et pourquoi il fonctionne en mode crontab?

J'ai mis un "whoami" en tant que mouchard dans le script.
  • Mode scheduler job ça me sort -> nobody
  • Mode crontab ça me sort -> oracle


Merci d'avance pour pour votre aide,

Matt