Bonjour tout le monde,

Actuellement j'essaie de piloter une base oracle depuis des scripts shells. Pour toutes les actions "usuelles" (commes creation/update/drop/delete/etc) je n'ai aucun soucis, je m'y prend de la facon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
export ORACLE_HOME=/exec/products/oracle/v9.2.0
export LANG=fr_FR@euro
export NLS_LANG=FRENCH_FRANCE.WE8ISO8859P15
 
SQLPLUS=${ORACLE_HOME}/bin/sqlplus
SQLLDR=${ORACLE_HOME}/bin/sqlldr
 
MYSETENV=/exec/applis/13ubdv/current/
. ${MYSETENV}/setenv
base=${DATA_BASE}
user=${NOM_USER}
passwd=${PASS_USER}
 
${SQLPLUS} ${user}/${passwd}@${base} @install_ExportContratValseDiffView.sql
Seulement voila, maintenant je dois passer des commandes qui necessite le role SYSDBA et je n'y arrive plus du tout.
Voila comment je m'y prend :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
${SQLPLUS} /nolog
CONNECT / AS SYSDBA
select table_name FROM dba_lobs; >> ficLog.log
exit
Bien evidement ceci ne fonctionne pas (entre autre parce que je ne specifie pas de base sur laquelle me connecter), j'ai aussi essayer ca :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
${SQLPLUS} ${user}/${passwd}@${base} CONNECT / AS SYSDBA
SELECT segment_name FROM dba_lobs; >> ficLog.log
exit;
Ca ne marche toujours pas, le script s'arrete et j'ai un long message qui ressemble presque à un man de sqlplus, et qui termine par :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
  <start> is: @<URL>|<filename>[.<ext>] [<parameter> ...]

    Runs the specified SQL*Plus script from a web server (URL) or the
    local file system (filename.ext) with specified parameters that
    will be assigned to substitution variables in the script.

When SQL*Plus starts, and after CONNECT commands, the site profile
(e.g. $ORACLE_HOME/sqlplus/admin/glogin.sql) and the user profile
(e.g. login.sql in the working directory) are run.  The files may
contain SQL*Plus commands.

Refer to the SQL*Plus User's Guide and Reference for more information.
./TEST_SYSDBAKSH.ksh: line 35: SELECT: command not found
Des idées les gens ?