我能收集到的最全Google标志

花了很大力气收集Google标志。对Google的感情让我斗胆放在技术区。如果管理员认为不合适,可以随时移除。

很多图片来自牙医也疯狂的 http://www.cnblogs.com/crazyingdoctor/archive/2004/09/04/39763.aspx,只不过这里提供的图标不全,其余的我尽可能补上了。

文件大概有2M,我会尽可能长的保留它。如果我的上传空间不够,会首先考虑删除它的。

下载地址: http://files.cnblogs.com/zhenyulu/Google.zip

Enjoy It! regular_smile.gif
<think>我们正在解决的核心问题是:如何在后台持续运行SQL*Plus脚本并监控其执行状态。根据用户需求,我们需要:1.让SQL*Plus脚本在后台运行(即使会话断开也不终止)2.能够监控脚本的执行状态(包括实时日志查看、进程状态检查等)解决方案:使用nohup结合后台运行(&)来保证脚本在断开连接后继续运行,同时通过日志文件和进程监控工具来监控执行状态。步骤分解:1.准备SQL*Plus执行脚本(shell脚本封装)2.使用nohup在后台运行该脚本3.监控方法:a.实时查看日志文件(tail -f)b.检查进程状态(ps)c.监控资源使用情况(top,iotop等)下面详细说明:</think>### 如何在SQL*Plus中后台持续运行脚本并监控执行状态 #### 核心解决方案:使用 `nohup` + 日志重定向 ```mermaid graph LR A[创建执行脚本] --> B[后台启动] B --> C[实时监控日志] C --> D[进程状态检查] ``` #### 详细操作步骤 ##### 1. 创建执行脚本 (`run_sql.sh`) ```bash #!/bin/bash # 加载Oracle环境变量 source ~/.bash_profile # 执行SQL脚本并记录详细日志 sqlplus -s username/password@sid <<EOF > /path/to/sql_execution.log 2>&1 SET SERVEROUTPUT ON SIZE UNLIMITED SET TIMING ON SET FEEDBACK ON @/path/to/3.txt EXIT EOF ``` **关键参数说明**: - `-s`:静默模式(隐藏SQL*Plus横幅) - `> sql_execution.log`:重定向输出到日志文件 - `2>&1`:合并错误输出到标准输出 - `SET SERVEROUTPUT ON`:捕获`DBMS_OUTPUT`内容 - `SET TIMING ON`:显示每个语句执行时间 - `SET FEEDBACK ON`:显示SQL执行行数统计 ##### 2. 赋予执行权限 ```bash chmod +x run_sql.sh ``` ##### 3. 后台启动脚本 ```bash nohup ./run_sql.sh & ``` - `nohup`:忽略挂断信号(防止终端断开终止进程) - `&`:后台运行 - 自动生成`nohup.out`日志文件 ##### 4. 实时监控方法 ```bash # 查看SQL执行详情 tail -f /path/to/sql_execution.log # 查看脚本运行状态 tail -f nohup.out # 监控进程资源使用 top -p $(pgrep -f 'run_sql.sh') # 检查IO负载 iotop -p $(pgrep -f 'run_sql.sh') ``` #### 高级监控技巧 ```bash # 监控脚本 (monitor.sh) #!/bin/bash LOG="/path/to/sql_execution.log" PID=$(pgrep -f 'run_sql.sh') while kill -0 $PID 2>/dev/null; do echo "===== 监控时间: $(date) =====" echo "内存使用: $(ps -p $PID -o rss=) KB | CPU: $(ps -p $PID -o %cpu=)%" echo "最后5行日志:" tail -n 5 $LOG sleep 30 done echo "执行完成! 退出状态: $?" ``` #### 执行状态验证 ```bash # 检查进程是否存在 ps -ef | grep 'run_sql.sh' # 验证SQL执行结果 grep 'ORA-' /path/to/sql_execution.log # 查找错误 grep 'rows selected' /path/to/sql_execution.log # 查询结果统计 grep 'PL/SQL procedure' /path/to/sql_execution.log # 存储过程执行 # 检查最终退出状态 echo "SQL*Plus退出代码: $(grep 'Disconnected' /path/to/sql_execution.log | tail -1)" ``` #### 自动重启机制 ```bash #!/bin/bash MAX_RETRY=3 COUNT=0 until [ $COUNT -ge $MAX_RETRY ]; do nohup ./run_sql.sh & wait $! EXIT_CODE=$? if [ $EXIT_CODE -eq 0 ]; then echo "执行成功!" | mail -s "SQL完成通知" your@email.com exit 0 fi echo "第$((COUNT+1))次尝试失败, 错误码: $EXIT_CODE" >> error.log sleep 120 ((COUNT++)) done echo "SQL执行失败!" | mail -s "紧急警报" admin@email.com ``` > **最佳实践**:对于生产环境,建议使用 `screen` 或 `tmux` 会话管理器[^1],通过 `screen -r` 随时恢复查看实时执行状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值