Linux下启动Oracle服务和监听程序
- 格式:doc
- 大小:25.50 KB
- 文档页数:2
Oracle监听器服务不启动的时候可采取以下措施予以解决:一、连接主机字符串,提示没有监听器SVRMGR> connect internal/oracle@orcl;ORA-12541: TNS:no listenerSVRMGR>二、运行监听器,提示地址的协议专用组件指定不正确在开始菜单运行中键入lsnrctlLSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 08-6月-2006 14:31:53 Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.欢迎来到LSNRCTL,请键入"help"以获得信息。
LSNRCTL> status连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521))) TNS-01103: 地址的协议专用组件指定不正确TNS-12541: TNS:无监听器TNS-12560: TNS:协议适配器出现错误TNS-00511: 无监听器32-bit Windows Error: 61: Unknown errorLSNRCTL> start启动tnslsnr:请稍候...Failed to start service, error 3.TNS-12536: TNS:可能会阻碍*作TNS-12560: TNS:协议适配器出现错误TNS-00506: *作可能阻塞32-bit Windows Error: 997: Unknown errorLSNRCTL>三、在控制面板中启动服务,出现以下错误服务:在本地计算机无法启动OracleOraHome91TNSListener 服务。
近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。
本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。
一、监听器(LISTENER)监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。
既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
二、本地服务名(Tnsname)Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。
本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。
Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。
三、Oracle网络连接配置方法配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置)。
在Windows 下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如:$ netmgr。
Windows下启动Net Manager图形窗口如下图示:1、 Oracle监听器配置(LISTENER):如图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以由任意合法字符命名)。
Oracle监听启动时由“监听程序不⽀持服务”引出的⼀系列问题--
解决⽅案
由于甲⽅服务器短缺,GB领导叫在⼀个数据库上建三个oracle实例,由于之前没尝试过这样做,故⽽在本地做了⼀下测试,新建完三个实例的时候重启监听程序,就报了“监听程序不⽀持服务”的错误(只想X狗)。
然后⽤plsql连接oracle服务端是连不上的,具体错误五花⼋门。
然后⽹上⼀顿查找,最终锁定是oracle的listerner.ora配置的不对(⾃⼰意淫是由于配置了多个实例,导致此⽂件在启动的时候不知道找哪⼀个实例了)
于是乎在listerner.ora最上边加上⼀⼩段配置,指定⼀下实例就⾏了。
然后重启⼀下监听。
⼀切正常,plsql也可以愉快的连接了。
希望有问题⼤家⼀起交流,⼀起进步,完结撒花~。
自已Windows连接linux oracle1.如果要用windows连接oracle,先启动oracle监听。
进入oracle下的bin目录执行:./lsnrctl start启动监听程序。
用./lsnrctl status查看监听状态。
2.启动完成后,就可以在windows下cmd下用Telnet 10.41.201.16 1521这时就可连接上了。
3.启动数据库./sqlplus /nologconn / as sysdbastartup启动数据库Linux下oracle操作命令重启oraclelsnrctl stopsqlplus /nologconn /as sysdbashutdown (startup)exitlsnrctl start启动oraclesqlplus /nologconn /as sysdbastartupexitlsnrctl start关闭oraclelsnrctl stopsqlplus /nologconn /as sysdbashutdownexit4.表空间操作修改系统默认的表空间alter database default tablespace sdb;查看表所在表空间Select tablespace_name from all_tables where table_name='SF_USER';可以在oracle的根目录下找到一个文件夹:oradata,里面就是所看到的表空间。
可以用./dbca添加删除表空间。
也可以使用语句。
drop tablespace latvoa including contents5.导入操作:Oracle没有提供什么参数来指定要导入到那个表空间,数据默认将导入到原本导出时数据所在的表空间。
6.查看用户Show user7.问题:1.ora-12514:TNS:listener does not currently know of service requested in connect descriptor原因:2.客户端数据库字符集:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1\NLS_LANG 是什么内容(1).数据库服务器字符集select * from nls_database_parameters来源于props$,是表示数据库的字符集。
Linux系统服务监控脚本使用Shell脚本实现对Linux系统服务运行状态的监控和报警在Linux系统中,运行着许多关键的服务,如网络服务、数据库服务等。
它们在系统运行中扮演着重要的角色。
然而,有时候这些服务可能会出现故障或停止运行,给系统的正常运行带来风险。
为了保证系统的可靠性和稳定性,我们需要实现对这些服务的监控和报警。
本文将介绍如何使用Shell脚本来实现Linux系统服务监控,并在需要时发送报警通知。
一、监控服务状态1. 创建监控脚本首先,我们需要创建一个Shell脚本,用于监控特定的服务。
使用文本编辑器,创建一个后缀名为.sh的文件,比如monitor.sh,并设置相应的执行权限。
2. 编写监控脚本代码在monitor.sh文件中,我们将使用systemctl命令来检查服务的状态。
以下是一个示例脚本,用于监控Apache Web服务器的运行状态:```bash#!/bin/bash# 定义服务名称SERVICE="httpd"# 检查服务状态status=$(systemctl is-active $SERVICE)# 判断服务状态if [[ $status != "active" ]]; thenecho "服务 $SERVICE 未运行!"# 在此处添加发送报警通知的代码fi```在脚本中,我们使用systemctl is-active命令来获取服务的状态,并将其存储在变量status中。
然后,使用条件语句判断服务状态是否为"active",如果不是,则输出一条错误信息。
3. 添加更多服务监控根据需要,你可以在脚本中添加更多的服务监控代码。
只需将上述步骤中的SERVICE变量修改为你要监控的服务名称,并添加相应的判断逻辑即可。
二、实现报警功能当监控脚本检测到服务状态异常时,我们希望能够及时收到报警通知。
Linux平台Oracle无法启动的处理方法Linux平台Oracle无法启动的处理方法Oracle数据库是世界上最为常用、最为重要的数据库之一,很多企业和机构都采用Oracle数据库来存储重要数据和运行重要的程序。
但是,有时候我们在使用Oracle时会遇到一些问题,比如Oracle无法启动。
下面就来介绍一下如何处理这种问题。
1. 检查Oracle服务状态Oracle服务是一个重要的组件,它负责管理和监控Oracle数据库。
如果Oracle服务没有启动或者状态异常,那么Oracle 就无法正常工作。
因此,第一步就是检查Oracle服务的状态,确保它已经正常启动。
在Linux操作系统中,Oracle服务的服务名通常为oracle,可以使用以下命令来检查Oracle服务的状态:$ systemctl status oracle这个命令会显示Oracle服务的状态,如果服务正在运行,则会显示active (running);如果服务未运行,则会显示inactive (dead)。
2. 检查Oracle监听状态Oracle监听是另一个重要的组件,它负责接收客户端的请求,并将请求转发给相应的数据库实例。
如果Oracle监听没有启动或者状态异常,那么Oracle也无法正常工作。
因此,第二步就是检查Oracle监听的状态,确保它已经正常启动。
在Linux操作系统中,Oracle监听的服务名通常为oracle-xe,可以使用以下命令来检查Oracle监听的状态:$ systemctl status oracle-xe这个命令会显示Oracle监听的状态,如果监听正在运行,则会显示active (running);如果监听未运行,则会显示inactive (dead)。
3. 检查Oracle数据库实例状态Oracle数据库实例是Oracle数据库的核心组件,它负责存储和管理数据库中的数据。
如果Oracle数据库实例没有启动或者状态异常,那么Oracle也无法正常工作。
Oracle 11g安装手册1、在linux的root用户下建立一个oracle用户//添加用户组及用户groupadd dbagroupadd oinstalluseradd oracle -g oinstall -G dbapasswd oracle//新建目录权限mkdir -p /u01chown -R oracle:dba /u01chmod -R 755 /u01安装时步骤8、9会指向此位置(建议:用户更改/opt/oracle11g)2、将Oracle11g安装文件复制到linux中的指定目录下(/home/oracle/tools)cp /光盘目录/linux.x64_11gR2_database_1of2 /home/oracle/tools3、执行目录中的runInstallsu - oracleLANG=zh_CN.gbk4、开始图像界面安装可能需要export DIAPLAY=:1.0xdpyinfo步骤1:将红框中的内容勾选去掉,点击下一步。
提示“未指定电子邮件地址”点击“是”步骤2:点选“创建和配置数据库”此选项也为默认选项,点击下一步。
步骤3:点击选中“服务器类”,点击“下一步”步骤4:点击选中“单实例数据库安装”,点击下一步。
步骤5:点击选中“高级安装”,点击“下一步”步骤6:选择需要的语言,点击“下一步”,此处客户确认是否需要增加其他语言步骤7:点击选中“企业版(4.29GB)”,点击“下一步”点击上图的“选择选项”,勾选需要的组件,此处全部勾选。
步骤8:此处为默认路径,u01的建立参考第1点orcale用户的建立,点击“下一步”步骤9:此处默认即可,点击“下一步”步骤10:点击选中“一般用途/事务处理”,点击“下一步”步骤11:此处默认,点击“下一步”vpmsdbs步骤12:此处可以设置内存、字符集、安全性、示例方案(可根据用户环境调整),点击“下一步”,内存分配建议至少50%步骤13:此处默认,点击“下一步”步骤14:此处默认处理,点击“下一步”步骤15:点击选中“不启用自动备份”,点击“下一步”步骤16:各帐号口令设定,此处统一使用相同口令,客户现场请在同客户确认口令设定规则步骤17:点击“下一步”步骤18:点击“修补并在此检查”,会产生修补文件,按照提示内容执行即可A、切换到root用户,此处为测试环境执行内容如上述步骤执行完成后依旧存在失败内容,请到linux光盘中寻找对应的rpm文件,复制到linux某一目录中,按下图命令执行步骤19:修补完成后,出现如下信息,点击“完成”步骤20:执行安装过程复制文件,创建实例过程完成后信息,点击“确定”完成后,如出现以下内容,请按照操作步骤,执行完成后,完成安装过程配置监听器1、执行su - oraclesh /u01/app/oracle/product/11.2.0/dbhome_1/bin/netca2、点击选中“监听程序配置”,点击“下一步”3、点击选中“添加”,点击“下一步”4、设定监听程序名,点击“下一步”5、选定协议所有协议,点击“下一步”6、设定标准端口号,点击“下一步”7、设定标准TCP/IP SSL端口号,点击“下一步”8、设置IPC键值,点击“下一步”9、提示是否配置另一个监听程序,点“是”,再点击“下一步”配置数据库1、执行sh /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbca2、点击“下一步”3、点选“创建数据库”,点击“下一步”4、点选“一般用途或事物处理”,点击“下一步”5、设定数据库名及SID,点击“下一步”6、配置管理选项,此处暂时用7、设定口令,点击“下一步”8、网络配置,点击“下一步”9、数据库文件所在位置,点击“下一步”,按照实际的文件规划位置10、恢复配置,点击“下一步”11、数据库内容,点击“下一步”12、初始化参数,点击“下一步”13、数据库存储,点击“下一步”14、创建选项,点击“完成”15、概要显示,点击“确定”16、创建进行17、创建完成,点击“退出”环境变量设置及启动1、设置环境变量在服务器上配置环境变量,编辑vi /etc/profile,在末尾加入以下配置export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1export PATH=.:$ORACLE_HOME/bin:$PATHexport ORACLE_SID=VPMSDBS (数据库SID)保存并退出vi /etc/oratab最后的N 改成Y(否则dbstart和dbshut命令无效)lsnrctl start (启动oracle监听)提示:The listener supports no servicesThe command completed successfully这样启动后远程连接会造成oracle ORA-12514:TNS:listener does not currently know of service requested in connect descriptor-----方案一-------------------------在listener.ora里面添加了一行SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = VENDB)(ORACLE_HOME = /opt/oracle11g/app/oracle/product/11.2.0/dbhome_1)(SID_NAME = VENDB)))-----方案二-------------------------linux上面:[oracle@localhost ~]$ netmgr在下图的Listeners->Database Services中配置要监听的SID及ORACLE_HOME,退出保存。
Oracle 监听器Listener资料Oracle 监听器Listener 是一个重要的数据库服务器组件,在整个Oracle 体系结构中,扮演着重要的作用。
它负责管理Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默认是TCP 1521端口)上监听连接请求,并将连接转发给数据库,下面的部分,会从几个方面对监听器进行简单介绍。
1.监听器的功能从当前的Oracle 版本看,Listener 主要负责下面的几方面功能:1. 监听客户端请求。
监听器运行在数据库服务器之上,与Oracle 实例(可为多个)相关关联,是一个专门的进程process,在Windows 的服务项目或者Linux 的运行进程列表中,都会看到对应的运行进程。
Windows 上名为TNSLSNR,Linux/Unix 平台上是lsnrctl。
监听器守候在服务器制定端口(默认为:1521),监听客户端的请求。
2. 为客户端请求分配Server Process。
监听器只负责接听请求,之后将请求转接给Oracle Server Process。
在Oracle 的服务模式下,客户端进程是不允许直接操作数据库实例和数据,而是通过一个服务进程Server Process(也称为影子进程)作为代理。
监听器接受到请求之后,就向操作系统(或者Dispatcher 组件)要求fork (或分配)一个Server Process 与客户端相连。
3. 注册实例服务。
本质上讲,Listener 是建立实例和客户端进程之间联系的桥梁。
Listener 与实例之间的联系,就是通过注册的过程来实现的。
注册的过程就是实例告诉监听器,它的数据库数据库实例名称instance_name 和服务名service_names。
监听器注册上这样的信息,对客户端请求根据监听注册信息,找到正确的服务实例名称。
目前Oracle 版本中,提供动态注册和静态注册两种方式。
oracle监听启动、停⽌、查看命令1.su oracle然后启动监听器1.lsnrctl start会看到启动成功的界⾯;1.lsnrctl stop停⽌监听器命令.1.lsnrctl status查看监听器命令.oracle数据库的安全包含两部分:1.⼀部分是os的安全2.⽹络的安全3.oracle软件本⾝的安全os的安全依赖相应的操作系统及管理员的技术⽔平,我们这⾥只谈谈oracle的安全我了解的oracle软件的安全包含:1.更改oracle的默认监听端⼝号2.给监听器加密码3.oracle控制ip的连接下⾯将针对这三个⽅⾯测试学习---------oracle默认监听端⼝更改--------------1. 更改oracle的默认监听端⼝号修改端⼝号的整体步骤1.1 。
查看当前监听的状态1.2 。
停⽌监听1.3 。
修改监听⽂件的端⼝号1.4 。
修改初始化参数local_listener1.5 . 重启监听器1.6 。
修改完毕,使⽤新端⼝登录测试实践步骤:1.1 。
查看当前监听的状态C:/Documents and Settings/skate_db>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7⽉ -2008 12:11:19Copyright (c) 1991, 2005, Oracle. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))LISTENER 的 STATUS------------------------别名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production启动⽇期 19-7⽉ -2008 11:47:59正常运⾏时间 0 天 0 ⼩时 23 分 19 秒跟踪级别 off安全性 ON: Password or Local OS AuthenticationSNMP OFF监听程序参数⽂件 E:/oracle/product/10.2.0/db_3/network/admin/listener.ora监听程序⽇志⽂件 E:/oracle/product/10.2.0/db_3/network/log/listener.log监听端点概要...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1522)))服务摘要..服务 "PLSExtProc" 包含 1 个例程。
Linux下启动Oracle服务和监听程序
启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。
$ su - oracle
$ sqlplus / nolog
sql> conn / as sysdba
sql> startup (一般不需要加参数,只要设置好环境变量)
sql> quit (退出sql模式)
$ lsnrctl start (启动监听器)
$ emctl start dbconsole(启动em控制台)
关闭oracle
$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)
$ sqlplus /nolog
sql>shutdown 其参数:shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。
第四种在不的已的情况下,不建议采用!
经常遇到的问题:
1)权限问题,解决方法,切换到oracle用户;
2)没有关闭监听器,解决方法:关闭监听器
3)有oracle实例没有关闭,解决办法:关闭oracle实例
4)环境变量设置不全,解决办法:修改环境变量
1、启动oracle数据库:startup;
2、关闭oracle数据库:shutdown immediate;shutdown abort;
3、启动em:$ORACLE_HOME/bin/emctl start dbconsole
4、关闭em:$ORACLE_HOME/bin/emctl stop dbconsole
5、查看em状态:emctl status dbconsole
6、启动isqlplus:$ORACLE_HOME/bin/isqlplusctl start
7、关闭isqlplus:$ORACLE_HOME/bin/isqlplusctl stop
8、启动监听:lsnrctl start
9、查看监听是否启动:lsnrctl status
一、linux启动oracle顺序:
1. su - oracle
2. sqlplus / as sysdba
3. SQL> startup;
4. lsnrctl start
5. emctl start dbconsole
6. isqlplusctl start
二、linux关闭oracle顺序:
1. su - oracle
2. lsnrctl stop
3. sqlplus / as sysdba
4. SQL> shutdown immediate;
5. SQL> quit;。