`
lusterfly
  • 浏览: 100638 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

bash: sqlplus: command not found

 
阅读更多

(本文为转载,备用查询)

在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法 

 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一样。    +++++++++++++++++   [oracle@ljc /bin]$ sqlplus /nolog
Error 6 initializing SQL*Plus  Message file sp1<lang>.msb not found  SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

 

 

 

本站实际使用:

1.启动数据库之前 确定查询一下环境变量
[xjgz@web /opt/oracle/product/10.2.0/sqlplus/bin]$ env
设置好正确的   ORACLE_HOME  和 ORACLE_SID
-------------------------------------------------------------------
[root@web /]# ln -s /opt/oracle/product/10.2.0/bin/sqlplus /usr/bin/
[root@web /]# su xjgz
[xjgz@web /]$ sqlplus /nolog
Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
[xjgz@web /]$ export ORACLE_HOME=/opt/oracle/product/10.2.0
2.SQL> connect /as sysdba 
ERROR:
ORA-12162: TNS:net service name is incorrectly specified
SQL> exit
[xjgz@web /]$ export ORACLE_SID=xjgzbj
[xjgz@web /]$ sqlplus /nolog

——————————————————————————
启动监听
3.[xjgz@web /]$ lsnrctl startup
bash: lsnrctl: command not found
4.解决错误:
[root@web /]# cp /opt/oracle/product/10.2.0/bin/lsnrctl  /bin
[root@web /]# chmod 777 /bin/lsnrctl
5.顺利启动
[xjgz@web /]$ lsnrctl start

分享到:
评论

相关推荐

    telnet不能用 提示:-bash: telnet: command not found

    在Linux系统中,"telnet不能用,提示:-bash: telnet: command not found"这一问题通常是由于系统中没有预装telnet客户端或者其路径未被添加到环境变量PATH中导致的。telnet是一个远程登录协议,允许用户通过网络在...

    docker容器中 bash: vi: command not found,docker apt-get 异常 Temporary failure resolving

    bash: vi: command not found, 场景: 因为 docker里面没有这个命令,我们安装一下 apt-get update apt-get install vim 如果 这个时候 安装也还是会出现 异常 root@446d7cf1606c:/etc/mysql# apt-get update ...

    linux下提示bash-command not found.docx

    Linux 中解决 "bash: command not found" 问题的方法 在 Linux 系统中,经常会遇到 "bash: command not found" 的错误提示,这是因为系统无法找到相应的命令所致。解决这个问题的关键就在于理解 Linux 系统中的 ...

    mysqldump报错

    -bash: mysqldump: command not found问题解决

    -bash: mysql: command not found的问题与解决

    前几天重装了mysql,装好之后navicat一直正常可以对mysql进行操作,但是今天要使用命令行进行操作时遇到-bash: mysql: command not found的问题。 总结一下解决办法: 这个问题的出现是两个原因 1 .bash_profile中...

    shell脚本执行jps时:-bash: jps: command not found

    这个场景中遇到的问题是,当尝试通过shell脚本来远程执行`jps`(Java Process Status)命令时,系统返回了`-bash: jps: command not found`的错误。`jps`是Java开发工具包(JDK)的一部分,用于列出正在运行的Java...

    解决bash: mysql: command not found 的方法

    在Linux环境中,当你尝试在命令行中运行`mysql`命令时,如果遇到`bash: mysql: command not found`的错误提示,这通常意味着系统无法在默认的可执行文件搜索路径中找到`mysql`客户端。这个错误通常发生在你安装了...

    bashfdiskcommand not found 解决办法

    ### bash: fdisk: command not found 解决办法 在 Linux 系统中,用户经常会遇到命令执行失败的情况,其中一种常见的错误提示就是“command not found”。这类问题通常出现在尝试运行一个系统未找到路径的命令时。...

    7za命令使用

    ProcessStartInfo startInfo = new ProcessStartInfo("cmd", $"/c {command}"); startInfo.RedirectStandardOutput = true; startInfo.UseShellExecute = false; using (Process process = Process.Start...

    linux命令行小结

    3.解决 bash:命令名称:command not found问题 PATH=$PATH:/sur/sbin/:(命令名称) 打开firefox:在终端输入firefox打开火狐浏览器 4.重启redhat:终端输入reboot 5.当提示bash: 命令名称: command not found ...

    http-server安装成功后,提示 ~bash command not found 在安装目录下却可以

    http-server安装成功后,提示 ~bash command not found 在安装目录下却可以,其实是没有配置环境变量的缘故 网上搜到的什么vim ~/.zshrc不适合我,因为我报的错不是zsh: command not found: 解决办法, 1、在mac终端...

    tar zip unzip command not found(未找到命令).docx

    当你在Red Hat 8.0中遇到“command not found”(未找到命令)的错误时,通常意味着这些工具尚未安装或者环境变量配置不正确。下面我们将详细解释如何解决这个问题。 首先,我们需要配置本地YUM源。在Red Hat 8.0中...

    docker安装

    返回 -bash: docker: command not found 则没有安装 返回类型以下信息则表示已安装 Docker version 19.03.6, build 369ce74a3c 卸载旧的版本 $ sudo yum remove docker \ docker-client \ docker-client-latest \ ...

    VsCode新建VueJs项目的详细步骤

    · node -v //(版本低引起:bash: npm: command not found) · npm -v //以上帮助检查是否安装 node npm · 输入vue,//测试vue是否安装成功 · 输入vue list //看vue中有哪些子类 npm install vue npm install -g ...

    解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题

    以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! ...

    Linux bash:./xxx:无法执行二进制文件报错

    到此这篇关于Linux bash:./xxx:无法执行二进制文件报错的文章就介绍到这了,更多相关Linux 无法执行二进制文件 内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!...

    [Mac]解决mac机器上没有ssh-copy-id的问题

    如果没有,可以编辑`~/.bash_profile`或`~/.zshrc`(取决于你的Shell),添加以下行: ```bash export PATH="/usr/local/bin:$PATH" ``` 然后,重新加载配置文件: ```bash source ~/.bash_profile 或 source ~/....

    oracle 数据库用户被锁定在linux下操作

    在使用 SQLPlus 命令行工具时,可能会出现一些错误,例如:“bash: sqlplus: command not found”或“Error 6 initializing SQL*Plus SP2-0667: Message file sp1&lt;lang&gt;.msb not found SP2-0750: You may need to ...

Global site tag (gtag.js) - Google Analytics