./fedora_install_oracle.sh bad interpreter
错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.
可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的
(1). vi filename
然后用命令
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.
-------------------------------------------------------------------------------------------------------------------------
在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法
http://blog.csdn.net/wenlele/article/details/6450858
1、 sqlplus命令不识别问题(bash :sqlplus command not found)
当你首次安装oracle后,也许会出现这种情况,第一次或许有点棘手,不知道如何改怎么办。这时不用着急,想想Linux里面的命令是如何运行的,如adduser等,我们发现是因为在/bin/文件夹下有这样的一个文件adduser,于是我们也想到了,把安装好的oracle中bin目录下的sqlplus文件拷贝到/bin文件目录下,
cp /opt/app/oracle/product/10.2.0/db_1/bin/sqlplus /bin
拷贝后,终端中运行sqlplus,成功。
注意:拷贝后,最好把执行权限给所有的用户,不然新建用户不能使用。
chmod 777 /bin/sqlplus
2、 启动oracle服务问题
不同Linux系统oracle启动文件不同,如Ubuntu下,我们需要建立/etc/init.d/oracledb,而在kylin系统中,文件在/etc/init.d/dbora,但位置都大致相同,我们只需要仔细找找都可以找到这样的一个启动服务文件。当你运行这些文件时,注意oracledb或dbora里面的变量,ORACLE_HOME、ORACLE_SID、PATH等等,这些变量都需要我们根据自己所安装的oracle目录具体配置。配置时,使用命令export:
export ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1
路径名看你安装oracle路径而定。
其他变量类似。
3、lsnrctl、emctl等命令的识别问题(bash:lsnrctl/emctl command not found)
当在运行lsnrctl时,或许会出现bash:lsnrctl/emctl command not found这样的错误,不用着急,这个问题和第一个sqlplus命令未找到是类似的,我们也只需把$ORACLE_HOME/bin目录下的lsnrctl文件拷贝到/bin目录下(记得像问题1一样,改变执行权限),就可以识别了。
而当在终端中运行emctl时,或许会出现ORACLE_HOME未定义问题。Environment variable ORACLE_SID not defined. Please define it。这样根据提示,我们知道问题出在了哪,于是我们想,在哪里才能让它识别变量ORACLE_SID呢,Linux中都有几个通用的特定文件。如~/.profile ~/.bash_profile ~/.bashrc等等,~这个符号代表当前用户的主目录,如当前用户为user,这样~代表/home/user。上面给的几个文件都是用来配置用户环境的,如果你想让你所运行的脚本识别这些问题,都必须打开并在后面添加这些变量。
对于刚才$ORACLE_SID变量问题,解决方案就是在这些文件中添加ORACLE_SID,但是到底添加到哪个文件呢,你可以试着打开上面的这些文件,如果里面存在东西,那就加在里面,我的系统添加到的是~./bashrc,首先打开: vi ~./bashrc,然后添加
export ORACLE_SID=orcl,。然后 source ~./bashrc,使这个文件重新生效。
这样,lsnrctl、emctl都可以顺利通过了。
4、 第一次安装oracle不能运行任何命令
第一次安装oracle后,发现sqlplus,lsnrctl等都不可以运行,即使把路径走到$ORACLE_HOME/bin目录下,也不可以。这是我是通过首先运行dbstart命令来解决的(走到安装目录的bin目录下运行)。
5、 数据库必须启动
如果你上述都顺利通过了,但是当你用sqlplus登录进去的时候,总是出错。
登录使用默认方式:sqlplus / as sysdba。这是你应该是第一次登录到oracle数据库中,数据库还不能使用,这样你必须使用startup mount、startup open命令解决。这样数据库就打开了,你就可以使用整个数据库了。如果打开时失败了,你可以先shutdown下,先关闭再打开数据库。
6、 不同用户使用oracle问题
当你新建一个用户时,你会发现emctl等其他一些命令又不可以使用了,这又是为什么呢?当我们看错误出现的地方,发现存在变量未定义,这样又回到了问题2、3了,因为这些变量未定义,所以不能够成功执行。根据Linux系统所提供的每个用户都有一个环境文件,(.profile .bash_profile .bashrc)等,按照问题3,我们只需在这些文件里面加入所需要的变量就可以了,步骤和问题3一样。
./fedora_install_oracle.sh bad interpreter的更多相关文章
- Linux学习笔记之Linux shell脚本运行出现问题:bash: ./test: bin/sh: bad interpreter: No such file or directory
问题: 在Linux系统中使用“vi test.sh”命令创建.sh文件,保存文件(:wq)并赋予权限(chmod +x test.sh)后,执行(./test.sh),出现问题:“bash: ./t ...
- ubuntu下的第一个脚本file.sh
1.新建空文档,写入shell命令: #!/bin/sh cd /home/plg ./usb 第一行一定要有,一开始参考网上写的#!/usr/bin/sh,会提示错误 bash: ./file.sh ...
- 转载:对#!/bin/sh的认识
转载网址:http://blog.163.com/hashes@yeah/blog/static/16867631220101029847420/ 对#!/bin/sh的认识 第一次学shell编程, ...
- 关于#!/bin/bash和#!/bin/sh
关于#!/bin/bash和#!/bin/sh #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径. bash只 ...
- Mac OS X运行程序出现bad interpreter: operation not permitted的解决方案
最近想在我的mac笔记本上安装gvim,从官网上下载了程序后竟然非常诡异的双击无法打开,命令行执行时系统报错: /bin/sh bad interpreter operation not permit ...
- #!/bin/sh简介
第一次学shell编程,看的文章中说shell程序必须以"#!/bin/sh"开始,也就认为是这样了,虽然知道在shell中以"#"开始的语句都是注释,但也从没 ...
- sh脚本——#!/bin/bash
#!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径. bash只是shell的一种,还有很多其它shell,如:sh ...
- Tomcat 在mac中Operation not permitted
5.执行/Library/Tomcat/bin下的startup.sh,然后打开http://localhost:8080查看是否Tomcat已经启动,若要停止服务器就运行同目录下的shutdown. ...
- Node.Js —— PM2介绍
pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的.它非常适合IaaS结构,但不要把它用于 ...
随机推荐
- Bluetooth LMP介绍
目录 1. 介绍 2. 数据包格式(Packet Format) 3. Procedure Rules 4. 通用回应消息(General Response Messages) 5. 设备特性(Dev ...
- sphinx
1.什么是SphinxSphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系我们(Sphinxsearch.com)以获得商业授权.一般而言,Sphi ...
- Region的预分区
1.预分区的方式 共有四种方式 2.帮助信息 help 'create' 3.第一种方式 4.在页面上查看效果(端口号:60010) 5.第二种方式 )创建文件,并在文件中书写分区的值 )创建表 6. ...
- 常用分类列表wp_list_categories()
使用: <ul> <?php $args= array( 'depth'=>1, 'orderby'=>id, 'style'=>none ); wp_list_c ...
- EGO Refresh小总结
这几天项目做完,有点闲,正好可以用来做做总结. 忘了是哪位博客大牛说:不能因为知识点小.少而不做总结. 那么现在就开始实践一把吧~ 总的来说,EGO有几点需要设置,设置完之后,就能够自如地用了. 1. ...
- jq 拖拽
1.尼玛, move事件的时候忘了加ev,找了一个多小时 <!DOCTYPE html> <html> <head lang="en"> < ...
- MVC部署 - 错误集锦
一.MVC部署后直接显示文件列表,路由未生效,效果如下: 处理方法为:Web.Config修改一下配置: <system.webServer> <validation validat ...
- Java 多态 虚方法
Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载. 看代码: package com.company; public class Main { public stati ...
- 源码维护基本命令diff_patch
源码维护基本命令 diff------生成源代码补丁diff [命令行选项] 源文件 新文件-r 递归处理相应目录-N 包含新文件到patch-u 输出统一格式(unified format),这种格 ...
- Bugfree实用心得_转
转自:http://blog.csdn.net/benkaoya/article/details/8719257 本博下有许多实用技巧 1. 什么是问题跟踪系统 问题跟踪系统(Issue Tracki ...