我想写一下执行start_job.sh文件,就可以登陆到ORACLE数据库里面,并且执行/home/pro.sql这个文件里的sql(里面是一些表的插入语句),不论在哪个用户,都可以使用。求大侠解答。~~~
方便的话,还能否赐经小弟一些相关方面的资料。
[email protected]

解决方案 »

  1.   

    start_job.sh 里写一句
    sqlplus 用户名/密码 @/home/pro.sql
    oracle用户要有权限执行start_job.sh并能访问pro.sql
      

  2.   

    如果数据库不是本机的话就得加在用户名和密码后加上@数据库NET服务名 比如  sqlplus test/test@remot_db @/home/pro.sql
      

  3.   

    这样的话 有的用户没权限呀,#! /bin/sh
    su - oracle 密码
    echo "login oracle user success!"
    sqlplus scott/scott@orcl <<///
    @/home/oracle/select.sql
    exit;
    ///
    我想这样,先登陆一下用户,但是这样写的话会报错的,求解!
      

  4.   

    这样的话 有的用户没权限呀,#! /bin/sh
    su - oracle 密码
    echo "login oracle user success!"
    sqlplus scott/scott@orcl <<///
    @/home/oracle/select.sql
    exit;
    ///
    我想这样,先登陆一下用户,但是这样写的话会报错的,求解!
      

  5.   

    没有什么权限呢?
    参考这里:Linux/Unix shell 脚本中调用SQL,RMAN脚本 
      

  6.   

    我给你写个哈:
    #!/bin/bash
    su  - oracle  -c "sqlplus  /nolog" <<EOF
    conn  logs/c1022dba
    set echo off  
    set  feedback off 
    @/usr/local/scripts/your_function_scripts.sql
    quit
    EOF
    记得chmod +x script_name