[Oracle 10g] Connect / as sysdba depuis script shell
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:
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:
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:
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:
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 ?