Oracle 原生工具 orabase,oerr与sqlplus
其实在$ORACLE_HOME/bin下面有很多命令工具。比较常用的有orabase,oerr,sqlplus,rman,exp/expdp,imp/impdp,sqlldr等
1.orabase 命令是$ORACLE_BASE的简化版本,使用起来比较方便。
[oracle@testdb tmp]$ orabase
/u01/app/oracle
与$ORACLE_BASE的输出结果是一致的。
2.oerr
这个工具很有用,本身是个shell脚本,使用起来也比较方便。
比如查看ORA-000001的问题,可以输入如下内容,然后给出相应的提示,很多问题在这种层面就显而易见了。
[oracle@testdb tmp]$oerr ora 000001
00001, 00000, "unique constraint (%s.%s) violated"
// *Cause: An UPDATE or INSERT statement attempted to insert a duplicate key.
// For Trusted Oracle configured in DBMS MAC mode, you may see
// this message if a duplicate entry exists at a different level.
// *Action: Either remove the unique restriction or do not insert the key.
3.sqlplus
sqlplus登陆时我们可以定义一些通用的设置,在每次使用sqlplus登陆时都可以生效。
$ORACLE_HOME/sqlplus/admin/glogin.sql
3.1glogin的额外设置如下
set feedback on ------------------------显示当前SQL语句查询或修改的行数
define_editor=vi -------------------------设置编辑器为VI
set trimspool on -------------------------把输出内容每行后面的空格去掉
set long 5000 --------------------------缓冲区用于显示LONG的字节数
set linesize 300 ---------------------------设置一行可以容纳的字节数
set pagesize 9999 --------------------------设置一页有9999行
column plan_plus_exp format a80 ------ 设置列的长度
set termout off --------------------屏幕上不显示所输出的信息
3.2sqlplus 无法启动的常见原因
1)selinux 导致sqlplus无法启动
我们登陆sqlplus会遇到Permission denied
解决方法:
1.临时关闭:root下执行setenforce 0 或在Linux界面直接关掉selinux
2.永久关闭:在/etc/sysconfig/selinux中修改SELINUX=disabled 然后重启
2)环境变量设置不当导致sqlplus无法启动
修改oracle用户家目录下的.bash_profile
3)profile失效导致sqlplus无法启动
SP2-0750:you may need to set ORACLE_HOME to your Oracle software directory
经查看发现 .bash_profile文件中 $ORACLE_HOME 前面缺少export
4)特殊问题: 乱码导致sqlplus无法启动
SP2-0750:you may need to set ORACLE_HOME to your Oracle software directory
5)/etc/hosts配置错误导致SQL plus无法正常启动