rh5安oracle总结——上下键不能用、ed命令、无法本地启动ODBC

简介: 1、切换用户后就不能用sqlplus了,每次都得关机重启: 这要从su 和 su -  这两个切换用户的名令说起了,前者只是切换了身份,但SHELL环境仍然是原用户的SHELL;而后者连用户和SHELL环境一起切换成新用户的了。

1、切换用户后就不能用sqlplus了,每次都得关机重启:

这要从su 和 su -  这两个切换用户的名令说起了,前者只是切换了身份,但SHELL环境仍然是原用户的SHELL;而后者连用户和SHELL环境一起切换成新用户的了。只有切换了SHELL环境才不会出现PATH环境变量错误。也就能找到命令了。

  具体案例:

  我用root登陆。然后切换到oracle用户下,执行sqlplus 命令 却报错:‍command not found!

  就是因为使用的是su ,而不是su -

  另外还有个很明显的区别:

  比如说 root用户在/root/目录下, su oracle,

  切换到了oracle 用户,但是目录仍然在/root/下。

  如果使用su - oracle

  你可以发现目录也切换到oracle用户的家目录下。此时的命令就可以用了,因为这时环境变量换成了oracle的啦。。

2、进入sqlplus后,进行命令操作,发现键盘上的上下箭头键不能切换以前使用过的命令,左右箭头键不能移动光标:


在Linux下面使用sqlplus很不爽,上下键,退格键都不能用,严重降低生产效率。
某一天终于发现了这个rlwrap这个好东西,特写此文记录。
由于时间关系,可以从这里 下载安装包。(也可以到我的资源去下载: http://download.csdn.net/detail/changyanmanman/4503408
下载后,将.zip扩展名去掉,传到Linux服务器上面。
先装上一些安装rpm
一:安装readline
OS的安装光盘里提供了readline包.
[root@oracle11g ~]# rpm -Uvh readline*
error: Failed dependencies: libtermcap-devel is needed by readline-devel-5.1-1.1.i386.rpm
[root@oracle11g ~]# rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm
[root@oracle11g ~]# rpm -Uvh readline*
package readline-5.1-1.1 is already installed
[root@oracle11g ~]# rpm -Uvh readline-devel-5.1-1.1.i386.rpm
 
  
二:安装rlwrap
[root@oracle11g ~]# tar -zxvf rlwrap-0.30.tar.gz
[root@oracle11g ~]# cd rlwrap-0.30
[root@oracle11g rlwrap-0.30]# ./configure
[root@oracle11g rlwrap-0.30]# make
[root@oracle11g rlwrap-0.30]# make install
 
  
三:方便使用rlwrap
[root@oracle11g rlwrap-0.30]# vi /home/oracle/.bash_profile
添加
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
 
   
 
   
Linux下的SQL Plus 终于可以像Windows下的那样使用了。


3、用ed命令时找不到默认的编辑器。

1 RedHat Enterprise Linux 5 Update 3;
2 oracle10g R2(10.2.0.1.0)for linux;

二 功能实现原因
    window平台上sqlplus中使用edit可以使用默认的笔记本打开缓冲区的内容,而linux平台上在sqlplus中默认执行edit命令不能执行编辑,这是没有为sqlplus设置默认的编辑器。下文中将以vi为sqlplus的默认编辑器。


三 方法[以oracle用户执行]
[oracle@as5u3 ~]$export EDITOR=vi #原文set _EDITOR=vi,"_"符号不使用
    登陆sqlplus中测试
[oracle@as5u3 ~]$sqlplus test/test
sql> select sysdate from dual;
sql> ed    [edit的简写] #sqlplus自动切换到vi,以vi打开缓冲区的语句
    在vi中修改sql,存盘,会自动重新读入到sqlplus的缓冲区。


四 sqlplus进入后,执行ed时自动调用vi

五:vi .bash_profile   #写入oracle用户的环境变量
export EDITOR=vi   #将这行追加到最后一行
重新使用oracle登陆,进入sqlplus即可。

4、现象:不能在 本地计算机 启动 OracleDBConsoleorcl。:

有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 2。
系统事件日志 报错误"Agent process exited abnormally during initialization."
出现情况:原来正常,IP地址变了后就不能启动,  
我的解决步骤如下:

1、开始-》运行cmd

2、执行 emctl start dbconsole
C:\Documents and Settings\xcl>emctl start dbconsole
Environment variable ORACLE_SID not defined. Please define it.
提示:环境变量 ORACLE_SID 未定义,请定义。

3、设置 ORACLE_SID =ORCL (orcl是我的实例名,也是服务名)
C:\Documents and Settings\xcl>set oracle_sid=orcl

4、再次执行emctl start dbconsole
C:\Documents and Settings\xcl>emctl start dbconsole
OC4J Configuration issue. E:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole
_china-d9e3f7d07_orcl not found.

提示:无法找到“E:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole
_china-d9e3f7d07_orcl “
注:china-d9e3f7d07 是我的计算机名

复制该目录下的“OC4J_DBConsole_localhost_orcl”文件夹放在同一目录下,且把名称改成“OC4J_DBConsole_china-d9e3f7d07_orcl”。

5、再次执行emctl start dbconsole
C:\Documents and Settings\xcl>emctl start dbconsole
EM Configuration issue. E:\oracle\product\10.2.0\db_1/china-d9e3f7d07_orcl not f
ound.
提示:无法找到 “E:\oracle\product\10.2.0\db_1/china-d9e3f7d07_orcl ”
复制该目录下的“localhost_orcl”文件夹放在同一目录下,且把名称改成“china-d9e3f7d07_orcl”。

6、再次执行emctl start dbconsole
C:\Documents and Settings\xcl>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2006 Oracle Corporation. All rights reserved.
http://localhost:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl
服务正在启动 ...................................................................
................................................................................
................................................................................
..............................
OracleDBConsoleorcl 服务已经启动成功。
本方法 参考资料:
http://www.51edu.com/it/2009/0330/article_16537.html
出现情况:原来正常,IP地址变了后就不能启动,报错误"Agent process exited abnormally during initialization."
  步骤:
  1:运行cmd
  2:执行emctl start dbconsole,提示“找不到环境变量ORCALE_SID”,请运行SET ORCALE_SID=***
  3:再次执行emctl start dbconsole,提示“无法找到D:\oracle\product\10.2.0\db_1\e1c8cd_SKYORCL”,复制该目录下的“localhost_skyorcl”文件夹放在同一目录下,且把名称改成“e1c8cd_SKYORCL”。
  4:再次执行emctl start dbconsole,提示“无法找到D:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_e1c8cd_skyorcl”,复制该目录下的“OC4J_DBConsole_localhost_skyorcl”文件夹放在同一目录下,且把名称改成“OC4J_DBConsole_e1c8cd_skyorcl”。
  4:再次执行emctl start dbconsole,既可以启动
  注意:“localhost_skyorcl”与“OC4J_DBConsole_localhost_skyorcl”俩个文件夹的我名称与目录由您自己安装决定。

相关文章
|
28天前
|
Oracle 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB(Oracle兼容版) 执行命令报错如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
7月前
|
SQL Oracle 关系型数据库
Oracle杂谈二 SQL*PLUS命令的使用大全
Oracle杂谈二 SQL*PLUS命令的使用大全
30 0
|
2月前
|
Oracle 关系型数据库
oracle 19c 搭建dataguard 简要命令
通过service 完成dg 搭建。
49 0
|
3月前
|
SQL Oracle 关系型数据库
Linux环境下oracle切换用户并查询数据库命令
Linux环境下oracle切换用户并查询数据库命令
|
4月前
|
SQL Oracle 关系型数据库
Oracle 常用命令大全
Oracle 常用命令大全
|
9月前
|
Oracle 关系型数据库
win7下oracle命令启动 发生系统错误 5
win7下oracle命令启动 发生系统错误 5
|
10月前
|
SQL XML Oracle
oracle命令的缩写原型单词方便记忆总结
$ORACLE_HOME/bin下的utilities解释 Binary First Available Description adapters (7.3.4) Installed Network Adapters agentctl 9.0.1 Agent Control Utility agtctl 8.1.5 Agent Control Utility bulkmodify
100 0
|
10月前
|
Oracle 关系型数据库 Linux
5分钟学会在Linux上安装Oracle和一条命令创建数据库
在Linux上安装Oracle软件的过程相当复杂,让很多初学者望而却步。但在Oracle 18c以后Oracle推出了使用rpm包安装Oracle数据库软件的安装方式
213 0
|
10月前
|
Oracle 关系型数据库 Linux
5分钟学会在Linux上安装Oracle和一条命令创建数据库
在Linux上安装Oracle软件的过程相当复杂,让很多初学者望而却步。但在Oracle 18c以后Oracle推出了使用rpm包安装Oracle数据库软件的安装方式
194 0
Zp
|
Oracle 关系型数据库 数据库管理
oracle 常用命令
oracle 常用命令
Zp
77 0

推荐镜像

更多