li
  当前位置:主页 > 性能优化 > 文章内容
li
Oracle DBA 的 UNIX袖珍参考手册之Unix 服务器环境
来源: www.ixdba.net  作者: Oracle+Linux专业技术门户    时间:2008-08-17   阅读:114  
本文章共5486字,分4页,当前第1页,快速翻页:
 

本节内容有助于你轻松掌握 Unix 环境。本节首先介绍当你作为 Oracle 用户登录到 Unix中会自动被执行的命令。在主目录下有一个特殊的文件,这个文件中可以写入一些当该用户登录到系统后就自动运行的命令。如果使用Korn shell,那么文件名就是.profile如果使用 C shell,那么文件名就是.cshrc

1.设置标准 Unix 提示符(ksh)

IXDBA.NET社区论坛

将下面的代码放到.profile    中,就会得到一个包含服务器名称、数据库名称和当前工

作目录的提示符。这样可以防止我们执行误操作。

PS1=" `hostname`*\${ORACLE_SID}-\${PWD} >"

下面是具体的效果:

corphp*PROD-/home/oracle >pwd

/home/oracle 

corphp*PROD-/home/oracle >cd /u01/oradata/PROD

corphp*PROD-/u01/oradata/PROD >

在上面的例子中,corphp 是主机名,PROD Oracle 实例名,后面跟的是当前目录。

注意,这个方法在 ksh 下一般都有效,如果是别的 shell 可能不行。

2.获取 Oracle 主目录(ksh):

$  cat /etc/oratab|grep ^$ORACLE_SID:|cut -f2 -d':'

/poll/oracle/ora92

3.为 Oracle 创建有用的 unix 别名

alias 命令可以用一个短小的名字来代表一长的 Unix 命令。例如:

alias log='cd $ORACLE_HOME/$ORACLE_SID/bdump'

rm 命令在删除数据的时候默认不确认,这就非常危险,为了避免误删除,我们可以用下面的办法:

alias rm='rm -i'

这样,执行 rm 的时候相当于执行的 rm -i,就会确认是否删除。

我们可以通过这样的方法,把常用的命令组合用别名来代替,放到.profile 文件中。

需要调用的时候调用别名即可。下面在.profile 中定义了一些常用的别名:

# Aliases 

# 

alias alert='tail -100\

$ORACLE_HOME/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.lo

g|more' alias arch='cd $ORACLE_HOME/admin/$ORACLE_SID/arch'

alias bdump='cd $ORACLE_HOME/admin/$ORACLE_SID/bdump'

alias cdump='cd $ORACLE_HOME/admin/$ORACLE_SID/cdump'

alias pfile='cd $ORACLE_HOME/admin/$ORACLE_SID/pfile'

alias rm='rm -i'

alias sid='env|grep ORACLE_SID'

alias admin='cd $ORACLE_HOME/admin'

4.将 SQL*Plus 脚本放入 Unix shell

这个例子中的脚本叫做 run_sql.ksh,该脚本调用了 SQL*Plus 来执行一条 SQL 语句, 

然后执行/home/oracle/sql/longscriptl.sql

#!/bin/ksh

#请用正确的 sid 替换下面的 sidname

ORACLE_SID=sidname

export ORACLE_SID

ORACLE_HOME=`cat /etc/oratab|grep ^$ORACLE_SID:|cut -f2 -d':'`

export ORACLE_HOME

PATH=$ORACLE_HOME/bin:$PATH

export PATH

$ORACLE_HOME/bin/sqlplus system/manager<<!

SELECT name FROM v\$datafile;

@/home/oracle/sql/longscript.sql

exit

!

然后要用 chmod 755 run_sql.ksh      来将此脚本改成可执行。接下来就可以直接在提示符下调用了(假设该脚本位于当前目录下)

#  ./run_sql.ksh

当然,我们也可以在提示符下用下面的命令来执行 SQL*Plus 脚本:

#  sqlplus system/manager @/home/oracle/sql/longscript.sql

5.将任务提交到后台执行

nohup 命令可以作为一个后台进程来提交任务。这对长时间执行的 Oracle 作业尤其有用,因为这可以释放命令提示符,从而你可以进行其他工作。例如:

nohup run_sql.ksh > logfile.lst 2>&1 &

上面这条命令中不光 nohup,还有其他内容,让我们来了解一下各部分的含义:

nohup

  将这个任务提交,让其持续运行,甚至你断开终端会话。

run_sql.ksh

  指定想在后台中运行的 Unix 脚本

>logfile.lst

  指定存放输出的文件名

2>&1



阅读更多内容1 · 2 · 3 · 4 · 下一页>>


  上一篇: Oracle DBA 的 UNIX 袖珍参考手册...   下一篇: Oracle DBA 的 UNIX 袖珍参考手册...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·Oracle DBA 的 UNIX 袖珍参考手册...
·oracle保护共享资源的锁定机制En...
·"log file sync" 等待事件
·Statspack ORA-00001 错误的解决
·db file scattered read-DB文件分...
·解决ORA-600 [qmxiUnpPacked2]错...
·什么是STATSPACK,我怎么使用
·如何获得所有的事件代码
·怎么样能固定自己的执行计划
·怎么样根据OS进程快速获得DB进程...
·Oracle DBA 的 UNIX 袖珍参考手册...
·Oracle DBA 的 UNIX 袖珍参考手册...
·Oracle DBA的UNIX袖珍参考手册之...
·Oracle DBA的UNIX袖珍参考手册之...
·Oracle DBA的UNIX 袖珍参考手册之...
·Oracle Server专有模式和共享模式...
·ORACLE SGA_MAX_SIZE与SGA_TARGE...
·oracle "Alter System" 含义
·oracle10G突然断电后出現ORA-0021...
·如何通过oracle系统进程查找正在...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接