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”俩个文件夹的我名称与目录由您自己安装决定。

相关文章
|
6月前
|
Oracle 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB(Oracle兼容版) 执行命令报错如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
3月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
75 2
|
3月前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
98 1
|
5月前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
5月前
|
DataWorks Oracle 数据库连接
DataWorks产品使用合集之如何实现数据集成接入提供ODBC API的Oracle数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
53 0
|
6月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SET命令:你的数据库会话“调色板”
【4月更文挑战第19天】Oracle SQL*Plus的SET命令是数据库会话的“调色板”,用于设置输出格式、反馈信息和各种偏好。它能调整PAGESIZE和LINESIZE以优化显示,控制ECHO和FEEDBACK开关以定制反馈,以及统计命令执行时间(TIMING)和调试SQL(VERIFY)。更高级的选项如HEADING和COLSEP可改善输出的可读性。通过灵活运用SET命令,能提升工作效率和体验,是数据库管理员和开发者的必备工具。
|
6月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的HELP命令:你的数据库“百事通”
【4月更文挑战第19天】`Oracle SQL*Plus` 的 `HELP` 命令是数据库查询的强大工具,犹如“百事通”。在遇到困惑时,`HELP` 可提供详细命令解释和用法示例,解答基础到高级的 SQL 和 PL/SQL 疑问。它还是“活字典”,揭示命令关联与区别,如 `SET` 和 `ALTER SESSION`。此外,`HELP` 解释数据库概念,如“事务”,并支持模糊查询。无论新手还是专家,`HELP` 都是数据库探索的得力助手。
|
6月前
|
SQL Oracle 关系型数据库
Oracle spool格式化数据命令
在这个示例中,通过设置不同的 `SET`命令参数,你可以控制输出的格式,包括每页行数、每行字符数、列分隔符等。你也可以使用其他的 `SET`命令参数来进一步定制输出格式。
61 0
|
6月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的TTITLE和BTITLE命令:为你的数据报告加上精美的“画框”
【4月更文挑战第19天】`SQL*Plus`的`TTITLE`和`BTITLE`命令用于为数据报告添加吸引人的标题和边框。
|
6月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的COLUMN命令:数据展示的“化妆师”
【4月更文挑战第19天】Oracle SQL*Plus的COLUMN命令是数据展示的利器,能美化和格式化输出。它可定制列标题、调整显示格式(如数字的小数位数和日期格式),添加前缀和后缀(如货币符号),以及控制列宽和是否折行,使得数据呈现更直观、专业。利用COLUMN命令,能将原始数据转化为易于理解和视觉吸引力强的展示形式。