
你的写法思路正确,只是在处理管道前边得到的内容时有三个小小的错误。
第一,要把grep 进程也一并过滤去。
grep 123换成grep -i grep |grep 123
第二,我们要处理这种情况,这就是不严格的所在。如果出现了出现进程名称也是123和1234的话,我们怎么处理,所以应该把awk ''放到grep -i grep |grep 123它们之前,即grep -i grep | awk '' |grep 123
第三,如果有两个或多个进程的id包含123,当然这种情况例外了一些,kill 前边的管道会返回多个值,如下
2123
1234
12345
这时通过kill命令执行一定会报错。
所以要做进一步修改
print $2要改成printf $2" "
这样如果遇到上面的特例,kill前边的管道就会得到:
"2123 1234 12345 "不包含引号
所以按照你的思路正确的做法是,
ps -ef |grep -i grep |awk '' |grep 123 | kill -9
其它有更好的实现,更建议用pkill和pgrep。多看man手册还是有好处的。有几位已经写到,不赘述了就。
看起来应当是权限不够先输入su
然后输入root密码切换到管理员模式
再尝试执行脚本
另外确定你已经安装了sun
java虚拟机
系统自带的那个不能用
一、首先:问题的产生原因,出现这个错误是因为我将oracle\oradata\oradb下的一个文件误删除掉后出现的。二、现象:SQL*Plus无法连接,显示以下错误: ORA-01033: ORACLE initialization or shutdown in progress ,Enterprise Manager Console中也是同样的错误。
三、分析:应该是Oracle在启动后,用户登录时是要将方案中原有配置信息装载进入,装载过程中遇到原有文件指定的位置上没有找到,所以就报出错误。
四、解决过程:
1、我在解决时由于着急使用,便用Database Configuration Assistant工具重新创建了一个新的库,临时解决急用的问题,同时也给后期解决ora-01033问题埋下了隐患。
2、在9i中是没有svrmgrl 命令的,要用sqlplus。
3、先在windows下运行cmd,进入DOS环境。
4、以DBA用户登录,具体命令是
sqlplus /NOLOG
SQL>connect sys/change_on_install as sysdba
提示:已成功
SQL>shutdown normal
提示:数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭
SQL>startup mount
提示:ORACLE例程已经启动
Total System Global Area 118255568 bytes
Fixed Size 282576 bytes
Variable Size 82886080 bytes
Database Buffers 33554432 bytes
Redo Buffers532480 bytes
数据库装载完毕
SQL>alter database open
提示:
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 19 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 19: ''''D:\oracle\oradata\oradb\FYGL.ORA''
这个提示文件部分根据每个人不同情况有点差别。
继续输入
SQL>alter database datafile 19 offline drop
提示:数据库已更改。
循环使用最后两步,直到alter database open后不再提示错误,出现“数据库已更改”。
然后接着输入即可
SQL>shutdown normal
提示:数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭
SQL>startup
提示:ORACLE例程已经启动
Total System Global Area 118255568 bytes
Fixed Size 282576 bytes
Variable Size 82886080 bytes
Database Buffers 33554432 bytes
Redo Buffers532480 bytes
数据库装载完毕
好了 问题解决了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)