`

Linux Oracle中常遇到的一些问题及命令总结

阅读更多

1.linux更改主机名

 

(1)#hostname oracledb    临时修改主机名

(2) vi /etc/sysconfig/network   修改hostname

(3) vi /etc/hosts        修改IP对应的主机名

 

2.linux重启oracle实例及监听的各种方法

(注意操作的顺序应该是先监听,后数据库实例)

 

方法1:

 

用root以ssh登录到linux,打开终端输入以下命令:

 

cd $ORACLE_HOME   #进入到oracle的安装目录 
dbstart           #重启服务器 
lsnrctl start     #重启监听器 

 

方法2:

 

Sql代码

 

cd $ORACLE_HOME/bin   #进入到oracle的安装目录 
./dbstart             #重启服务器 
./lsnrctl start       #重启监听器

 

方法3:

 

(1) 以oracle身份登录数据库,命令:su – oracle

(2) 进入Sqlplus控制台,命令:sqlplus /nolog

(3) 以系统管理员登录,命令:connect / as sysdba

(4) 启动数据库,命令:startup

(5) 如果是关闭数据库,命令:shutdown immediate

(6) 退出sqlplus控制台,命令:exit

(7) 进入监听器控制台,命令:lsnrctl

(8) 启动监听器,命令:start

(9) 退出监听器控制台,命令:exit

(10) 重启数据库结束

 

方法4:(自已写脚本)

 

1)启动脚本(dbstart.sh)

 

lsnrctl start
sqlplus /nolog <<EOF
connect / as sysdba
startup;
exit
EOF

 

$sh dbstart.sh 即可

 

2)关闭脚本(dbstop.sh)

  

lsnrctl stop
sqlplus /nolog <<EOF
connect / as sysdba
shutdown immediate;
exit
EOF

 

$sh dbstop.sh 即可

 

小结:

linux中启动oracle主要分两步:一个是启动监听器,一个是启动实例(一般都忘记了这一步),具体命令如下:

 

1.进入oracle根目录
cd $ORACLE_HOME/bin
 
2.进入监听
./lsnrctl

3.启动监听器
start

4.退出监听
exit

5.进入sqlplus
sqlplus /nolog

6.使用管理员连接
connect as sysdba

7.启动ORACLE实例
startup

 

 

3.lsnrctl status命令结果The listener supports no services这一问题解决办法

 

问题现象如下:

[oracle@oracledb admin]$ lsnrctl status
 
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 08-JUL-2015 05:00:53
 
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                08-JUL-2015 04:35:53
Uptime                    0 days 0 hr. 24 min. 59 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/app/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
The listener supports no services
The command completed successfully

 

首先需要知道我们可以通过netca来配置Listener动态监听,通过mgr来配置静态监听。

如果这两种方式都不好使,还有一个方法就是手动修改listener.ora文件,添加以下几行内容:

 

SID_LIST_LISTENER =  

(SID_LIST =  

  (SID_DESC =  

  (GLOBAL_DBNAME = orcl)

  (SID_NAME = orcl)

  )

)

 

然后重新加载一次监听就可以注册上实例了

 

[oracle@oracledb ~]$ lsnrctl reload

 

重新查看监听状态lsnrctl status

 

 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 08-JUL-2015 05:05:41
 
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                08-JUL-2015 04:35:53
Uptime                    0 days 0 hr. 29 min. 47 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/app/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

 

注意"UNKNOWN"就表示是静态注册的,如果是"READY"则表示是动态注册的

 

总结:以上利用了手动修改配置静态监听的方法成功注册了Oracle实例,动态监听往往需要等实例启动后,过一段时间才会注册上,而静态监听则可以马上注册。而且一旦实例重启会造成动态监听暂时无效,有些版本的bug甚至会导致动态监听的注册就再也起不来了。所以我对于监听的观点是,尽量配置静态监听,这样就可以避免很多由监听带来的问题,诸如我们经常会碰到的几个ora error:ora-12541、ora-12514、ora-12154等,尤其是在RAC和DG中,一个监听的问题,往往会带来很大的麻烦,尤其需要引起大家的注意。

 

4.常用的两个命令查询数据库实例名和服务名

 

SQL> select instance_name from v$instance
 
INSTANCE_NAME
----------------
orcl
 
SQL> show parameter service_names
 
NAME                                 TYPE        VALUE 
------------------------------------ ----------- ------------------------------ 
service_names                        string      orcl

 

分享到:
评论

相关推荐

    linux下oracle的一些参考文档

    总结来说,"linux下oracle的一些参考文档"应该包含了如何在Linux环境中安装Oracle数据库、如何使用Oracle命令进行操作、如何进行数据导入导出以及如何解决常见的问题。这些文档对于学习和实践Oracle在Linux上的应用...

    Linux oracle em 中文乱码解决方案

    在Linux环境下管理和维护Oracle数据库时,可能会遇到Oracle企业管理器(Enterprise Manager, EM)显示中文乱码的问题。这通常是由于字符编码设置不正确导致的。本文将深入探讨这个问题,并提供有效的解决方案。 首先...

    Linux下修改Oracle用户密码

    本文将深入解析在Linux操作系统中如何安全有效地修改Oracle数据库用户的密码,包括操作步骤、注意事项以及相关原理。 ### 深入理解Linux下修改Oracle用户密码 #### 一、前期准备与环境要求 在开始修改Oracle用户...

    BE2012备份linux oracle相关问题解决

    - 安装过程中遇到的常见问题,例如“VXIF_HOME is invalid”错误,并提供了解决方法。 3. 安装过程中的系统检查: - 检查系统通信,确保BE2012能够与Oracle数据库所在的Linux系统通信。 - 检查操作系统的版本...

    linux下编译oracle驱动qoci

    - **Linux下编译Oracle驱动QOCI**:此标题表明文章的主要内容是在Linux操作系统中自行编译Oracle驱动程序QOCI的过程。 #### 描述解析 - **在Linux用Qt访问Oracle数据库需要自己编译Oracle驱动QOCI**:这句话指出了...

    Linux上安装Oracle汉字乱码完整解决方案

    在Linux环境下安装Oracle数据库时,遇到汉字乱码问题是一个常见的挑战。这个问题主要出现在Oracle数据库的字符集设置与系统默认的字符集不匹配,或者缺少必要的中文字体。本文提供了一个完整的解决方案,旨在帮助...

    linux启动oracle方法

    本文将详细介绍如何在Linux操作系统中启动Oracle数据库,包括必要的环境配置以及具体的启动步骤。通过本文的学习,您将能够熟练掌握在Linux下启动Oracle数据库的方法。 #### 二、环境准备 在开始之前,确保已经...

    linux安装数据库oracle中文字体库

    在Linux系统中安装Oracle数据库时,可能会遇到一个问题:在中文界面或者处理中文数据时显示乱码。这主要是因为Oracle数据库不包含默认的中文字体,因此需要手动安装中文字体库来解决这个问题。本文将详细介绍如何在...

    linux下oracle的安装与配置

    - 在安装和配置过程中可能会遇到各种问题,如权限问题、依赖问题、内存不足等。这些问题通常需要通过查看错误日志、检查系统状态、搜索相关文档或社区论坛来解决。 总之,Linux下的Oracle安装和配置是一个复杂的...

    linux安装oracle图形化界面问题处理

    Linux安装Oracle图形化界面时经常会遇到各种问题,本文将总结这些问题的解决方法。 一、错误描述:xlib connection to ":0.0" refused by server 解决方案:此错误是由于用户身份问题引起的,可以通过切换到root...

    linux上离线安装oracle数据库19c

    - 在安装过程中可能会遇到权限问题、依赖缺失、防火墙阻止等问题,需要根据错误提示进行排查和解决。 在整个过程中,熟悉Linux的基本操作,如文件管理、命令行工具、网络配置和进程管理等,都是非常重要的。务必...

    linux Oracle安装文档

    ### Linux环境下Oracle安装关键步骤与常见问题解决 #### 修改用户的SHELL限制 为了确保Oracle能够...通过以上步骤,可以有效地准备Linux环境,以便顺利安装Oracle数据库,并解决安装过程中可能遇到的一些常见问题。

    linux下安装oracle9i

    本文将详细解析如何在Linux AS4上进行Oracle 9i的安装,包括必要的准备、安装过程以及可能遇到的问题和解决办法。 首先,安装Oracle 9i前需确保系统中已经安装了必要的软件包。这些包包括`compat-db`、`compat-gcc`...

    linux中oracle的日常维护命令

    以下是一些常用命令和步骤,用于监控、诊断和管理Oracle数据库。 1. **检查Oracle进程**: 使用`ps -ef | grep "ora_" | grep -v grep`命令可以列出所有与Oracle相关的进程。这些进程包括但不限于: - `ora_dbw0_...

    Oracle中 lsnrctl命令使用总结(推荐)

    Oracle中的`lsnrctl`命令是管理Oracle数据库监听器(Listener)的重要工具,它提供了对监听器进行控制、查看状态和配置的多种功能...如果你在使用过程中遇到任何问题,可以查阅Oracle官方文档或在线社区获取更多帮助。

    oracle 11g Linux64位安装包 百度云盘提取码.txt

    - 如果在安装过程中遇到权限问题,确保使用正确权限的用户进行安装,并检查环境变量是否正确设置。 2. **依赖库缺失**: - 若在安装过程中出现缺少依赖库的错误,可以通过yum或apt-get等包管理工具安装所需的库。...

    linux安装Oracle过程及遇到的问题.docx

    ### Linux安装Oracle过程及遇到的问题 #### 一、概述 在Linux环境下安装Oracle数据库是一项较为复杂的任务,过程中可能会遇到各种各样的问题。本文将详细记录Linux下安装Oracle的过程以及遇到的一些常见问题及其...

    LINUX中安装oracle缺少的rpm包

    在Linux环境中安装Oracle数据库,尤其是Oracle 11g时,可能会遇到依赖问题,因为Oracle数据库软件需要特定的库和工具才能正确运行。本篇文章将详细解释如何解决在Linux上安装Oracle 11g时可能遇到的缺失RPM包问题。 ...

    linux下安装基于docker安装oracle.docx

    然而,将 Oracle 安装在 Linux 上可能会遇到一些复杂的问题,例如依赖项安装、配置文件编辑、环境变量设置等。在本文中,我们将介绍如何使用 Docker 在 Linux 上安装 Oracle。 一、准备 Docker 环境 在安装 Oracle...

    linux离线安装oracle所有依赖包

    在Linux系统中,Oracle数据库的安装通常涉及到一系列的依赖包,尤其在离线环境中,确保所有依赖包都齐全显得尤为重要。本教程将详细介绍如何在CentOS 6上离线安装Oracle的所有依赖包。 首先,Oracle数据库对操作...

Global site tag (gtag.js) - Google Analytics