Database 使用shell脚本的sqlplus访问和电子邮件访问

Database 使用shell脚本的sqlplus访问和电子邮件访问,database,oracle,shell,sqlplus,Database,Oracle,Shell,Sqlplus,我是相当初级的shell脚本,下面是详细信息 我正在寻找激发sql查询并基于该数据执行某些逻辑的最佳方法。我使用了以下代码片段 shellvariable=sqlplus$user/$passwd您走对了方向。在编写shell脚本时,sqlplus是与数据库交互的最佳方式,但有两点需要注意: 使用-S参数停止 sqlplus无法打印其所有 应用信息 要将数据直接读入变量,您需要 需要一些sqlplus环境吗 要将输出修剪回的设置 正是你想要的 对于任何正在学习shell脚本以帮助他们管理和自动化

我是相当初级的shell脚本,下面是详细信息

我正在寻找激发sql查询并基于该数据执行某些逻辑的最佳方法。我使用了以下代码片段


shellvariable=sqlplus$user/$passwd您走对了方向。在编写shell脚本时,sqlplus是与数据库交互的最佳方式,但有两点需要注意:

使用-S参数停止 sqlplus无法打印其所有 应用信息 要将数据直接读入变量,您需要 需要一些sqlplus环境吗 要将输出修剪回的设置 正是你想要的 对于任何正在学习shell脚本以帮助他们管理和自动化Oracle数据库管理的DBA,我强烈推荐Jon Emmons的书。它教授了一门很棒的shell脚本入门课程,但是在dba真正有用和感兴趣的任务的上下文中

最后一点注意:如果您所做的不仅仅是一个简单的DBA任务,我建议不要使用shell脚本,而是使用具有适当数据库支持的脚本语言。Perl是Oracle的一个很好的选择,因为它是与数据库一起安装的

在bash和perl中为Oracle编写的脚本。在shell版本中,它是如何将特定值读取到shell变量的:

alertlog=$(sqlplus -S \/ as sysdba 2> /dev/null <<EOF
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 80
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SELECT value 
FROM   v\$parameter 
WHERE  name = 'background_dump_dest';
EOF
)

你在正确的轨道上。在编写shell脚本时,sqlplus是与数据库交互的最佳方式,但有两点需要注意:

使用-S参数停止 sqlplus无法打印其所有 应用信息 要将数据直接读入变量,您需要 需要一些sqlplus环境吗 要将输出修剪回的设置 正是你想要的 对于任何正在学习shell脚本以帮助他们管理和自动化Oracle数据库管理的DBA,我强烈推荐Jon Emmons的书。它教授了一门很棒的shell脚本入门课程,但是在dba真正有用和感兴趣的任务的上下文中

最后一点注意:如果您所做的不仅仅是一个简单的DBA任务,我建议不要使用shell脚本,而是使用具有适当数据库支持的脚本语言。Perl是Oracle的一个很好的选择,因为它是与数据库一起安装的

在bash和perl中为Oracle编写的脚本。在shell版本中,它是如何将特定值读取到shell变量的:

alertlog=$(sqlplus -S \/ as sysdba 2> /dev/null <<EOF
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 80
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SELECT value 
FROM   v\$parameter 
WHERE  name = 'background_dump_dest';
EOF
)