Linux下如何启动、关闭Oracle以及打开关闭监听

Linux下如何启动、关闭Oracle以及打开关闭监听,第1张

1、以oracle用户登录系统,如果是root用户,使用su - oracle切换用户。

2、以oracle用户cd到oracle的bin目录,cd $ORACLE_HOME/bin。

3、以nolog方式运行sqlplus。

4、以sysdba连接数据库,如下SQL> conn /as sysdba。

5、输入用户名sys 和密码。

6、启动数据库实例,SQL> startup;等待片刻,等到database opened就是打开数据库实例成功了。

7、使用命令shutdown abort  ;或者  shutdown immediate ; 关闭数据库。

引起ora-1053错误的原因有很多,一般oracle出现问题后,依次测试,比如启动服务、在SQL Plus里尝试登录、在Windows命令行尝试启动服务和登录数据库、测试监听器是否正常。

碰到的问题为例,打开Net8 Configuration Assistant-本地网络服务名配置-测试,选择想要测试的网络服务名,发现测试没有通过,这代表对应数据库例程监听器出现问题了。

解决方案:

1在Net8 Configuration Assistant中,选择监听程序配置-删除,删除以前的监听程序(listener,原因可能是电脑IP变动了等等)。

2控制面板-管理-服务,如果oracle listener还是启动或已启动状态,那么将这个服务关闭。

3在Net8 Configuration Assistant中,选择监听程序配置-添加,按照默认选项添加一个监听程序(listener),然后保存。

4重启电脑,oracle服务可以正常启动了。

还有种情况也会导致这样问题的发生:安装了微软补丁KB835732

解决办法:卸载KB835732更新

近段时间很多网友提出监听配置相关问题 客户终端(Client)无法连接服务器端(Server) 本文现对监听配置作一简单介绍 并提出一些客户终端无法连接服务器端的解决思路 愿对广大网友与读者有一些帮助   监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务 主要用于监听客户端向数据库服务器端提出的连接请求 既然是基于服务器端的服务 那么它也只存在于数据库服务器端 进行监听器的设置也是在数据库服务器端完成的   本地服务名(Tnsname) Oracle客户端与服务器端的连接是通过客户端发出连接请求 由服务器端监听器对客户端连接请求进行合法检查 如果连接请求有效 则进行连接 否则拒绝该连接 本地服务名是Oracle客户端网络配置的一种 另外还有Oracle名字服务器(Oracle Names Server)等 Oracle常用的客户端配置就是采用的本地服务名 本文中介绍的也主要是基于本地服务名的配置   Oracle 网络连接配置方法 配 置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置) 在Windows下 点击 开始/程序/Oracle OraHome /Configuration and Migration Tools/Net Manager 启动Oracle网络管理器工具 在Linux/Unix下 利用netmgr命令来启动图形化Oracle网络管理器 如 $ netmgr Windows下启动Net Manager图形窗口如下图示                                                                 图(一)    Oracle监听器配置(LISTENER) 如 图(一)示 选中树形目录中监听程序项 再点击左上侧 + 按钮添加监听程序 点击监听程序目录 默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名) 选中该名称 选中窗口右侧栏下拉选项中的 监听位置 点击添加地址按钮 在出现的网络地址栏的协议下拉选项中选中 TCP/IP 主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端 输入两项之一均有效 如果主机作为服务端并需要通过网络连 接 建议输入IP地址) 端口文本框中输入数字端口 默认是 也可以自定义任意有效数字端口 配置好的监听位置如下图示                                                                  图(二)     选 中窗口右侧栏下拉选项中的 数据库服务 点击添加数据库按钮 在出现的数据库栏中输入全局数据库名 如myoracle 注意这里的全局数据库名与数据 库SID有所区别 全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性 就如Windows下的域名控制器 如这里可以输入 myoracle Oracle主目录可以不填写 输入SID 如myoracle 完整的数据库服务配置如下图示           图(三)   保 存以上配置 默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:\oracle\ora \neork\admin\listener ora Linux/Unix下$ ORACLE_HOME/neork/admin/listerer ora) 至此 Oracle服务端监听器配置已经完成    本地服务名配置(Tnsnames) 本 地服务名是基于Oracle客户端的网络配置 所以 如果客户端需要连接数据库服务器进行 *** 作 则需要配置该客户端 其依附对象可以是任意一台欲连接数据 库服务器进行 *** 作的PC机 也可以是数据库服务器自身 如前面所介绍 可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置 选中如图(一)中的服务命名 再点击左上侧 + 按钮 d出如下图示对话框                         图(四)   输入Net服务名 如myoracle 点击下一步 进入下图示对话框                   图(五)     选中TCP/IP(Internet协议) 点击下一步 如下图示                 图(六)   输入主机名与端口号 注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同 点击下一步 如下图示                        图(七)   选 中(Oracle i或更高版本)服务名 输入服务名 这里的服务名实际上就是数据库服务器端监听器配置中的全局数据库名 前者与后者必须相同 连接类型 通常选专用服务器 这要视数据库服务器的配置而定 如果配置的共享数据库服务器 这里的连接类型就要选共享服务器 否则建议选专用服务器(关于专用服务器 的介绍请参阅相关文档) 配置好后点击下一步 如下图示                   图(八)     如 果数据库服务器端相关服务启动了 可以点击测试按钮进行连接测试 Oracle默认是通过scott/tiger用户进行测试连接 由于scott用户是 Oracle自带的示例用户 对于正式的业务数据库或专业测试数据库可能没有配置这个用户 所以需要更改成有效的用户登录才可能测试成功 如果这里测试连 接不成功 也不要紧 先点完成按钮结束配置 回 到Oracle网络管理器(Oracle Net Manager)主窗口 保存配置 默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:\oracle\ora \neork\admin\tnsnames ora Linux/Unix下$ ORACLE_HOME/neork/admin/ tnsnames ora) 配置完成的本地服务名如下图示                   图(九)   树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称 注意服务名称前不能有空格字符 否则可能无法连接数据库服务器    连接数据库服务器 ( )   启动服务器端监听器与数据库服务 Linux/Unix下 启动监听器 $ lsnrctl start                     关闭监听器 $ lsnrctl stop 查看监听状态 $ lsnrctl status 启动数据库 $ sqlplus /nolog SQL>conn sys@myoracle as sysdba   这里的myoracle是前面配置的客户端本地服务名 或 SQL>conn / as sysdba SQL>startup Windows下 启动监听器 C:\lsnrctl start 启动Oracle实例服务 C:\oradim –startup –sid myoracle   关闭Oracle实例服务 C:\oradim –shutdown –sid myoracle 以上服务必须同时启动 客户端才能连接数据库 由于默认配置的监听器名称是Listener 上述命令可以正常启动监听器 如果监听器名称是其它名称 如aListener 则需要用下列方式才能启动 Linux/Unix下 $ lsnrctl start aListener Windows下 C:\lsnrctl start aListener   ( )   测试连接数据库服务器 测试的方法多种多样 可以在上面配置本地服务名时进行测试 也可以是第三方客户端工具 如PL/SQL Developer 最方便的是用Oracle自带的sqlplus工具 以下利用sqlplus进行测试 C:\sqlplus /nolog SQL>conn zgh@myoracle 已连接     客户端连接服务器端常见问题排除方法 要排除客户端与服务器端的连接问题 首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致) 再根据错误提示解决 下面列出几种常见的连接问题  ORA : TNS: 没有监听器 显而易见 服务器端的监听器没有启动 另外检查客户端IP地址或端口填写是否正确 启动监听器 $ lsnrctl start 或 C:\lsnrctl start  ORA : TNS: 监听程序无法启动专用服务器进程 对于Windows而言 没有启动Oracle实例服务 启动实例服务 C:\oradim –startup sid myoracle  ORA : TNS: *** 作超时 出现这个问题的原因很多 但主要跟网络有关 解决这个问题 首先检查客户端与服务端的网络是否畅通 如果网络连通 则检查两端的防火墙是否阻挡了连接  ORA : TNS: 无法处理服务名 检 查输入的服务名与配置的服务名是否一致 另外注意生成的本地服务名文件(Windows下如D:\oracle\ora \neork\admin \tnsnames ora Linux/Unix下$ORACLE_HOME/neork/admin/tnsnames ora)里每项服务的首 行服务名称前不能有空格  ORA : TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME 打开Net Manager 选中服务名称 检查服务标识栏里的服务名输入是否正确 该服务名必须与服务器端监听器配置的全局数据库名一致  Windows下启动监听服务提示找不到路径 用 命令或在服务窗口中启动监听提示找不到路径 或监听服务启动异常 打开注册表 进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome TNSListener项 查看ImagePath字符串项是否存在 如果没 有 设定值为D:\oracle\ora \BIN\TNSLSNR 不同的安装路径设定值做相应的更改 这种方法同样适用于Oracle实例服务 同 上 找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项 查看ImagePath字符串项是否存在 如果没有 则新建 设定值为d:\oracle\ora \ binORACLE EXE MYORACLE 以上是Oracle客户端连接服务器端常见的一些问题 当然不能囊括所有的连接异常 解决问题的关键在于方法与思路 而不是每种问题都有固定的答案 lishixinzhi/Article/program/Oracle/201311/17900

例如:sqlplus

username/password@servicename

于是想,用我的两台电脑双机互联试一试,也玩个远程连接。实验如下:

首先在我的台式机上安装了Oracle9i的数据库管理系统,并建立了一个数据库实例:xy然后为该实例新增了一个用户,用户名和密码都是kxy01

。启动实例xy后,在台式机上,直接在cmd环境键入:sqlplus

kxy01/kxy01@xy

就可以连接上数据库,呵呵,想来本地连接都是不费吹灰之力就行的。

之后,在我的笔记本上安装了Oracle9i的Client工具。然后试着直接用上述命令访问,显然是不行的,系统返回无法解析服务名的错误信息。

要实现连接到远程数据库,先了解一下相关知识吧,查了一下书。原来,

Net

Configuration

Assitant

的工具,应该就是它了。启动之:

Net

Configuration

Assitant共提供了4个配置功能:

监听程序配置,

命名方法配置,

本地网络服务名配置

目录使用配置。

要从远程位置连接Oracle数据库,必须配置Oracle网络监听程序。

Net

Configuration

Assitant

可以用于此项配置工作,启动后选择监听程序配置,一路下一步即可。

之后点开命名方法配置,系统已经默认提供了三种,其他两种也不太认识,干脆不改了,直接点后退,回到主菜单。

主菜单中,第三项是本地网络服务名配置。要通过网络访问Oracle数据库或其他服务,要使用网络服务名,该项配置允许使用由本地命名解析的网络服务名。而第四项为目录使用配置,点开一看,居然要选择目录服务器,我这一共就两台电脑,要什么目录服务,看来第四项不适合本实验了,显然,关键配置就在第三项:本地网络服务名配置。

将其点开,选择添加网络服务名 *** 作,然后会询问你希望访问何种版本的Oracle数据库服务。

按照常理,我装的是Oracle9i自然应该选择第一个(Oracle8i或更高版本数据库服务),可经过实践证明,只有选择第二个(Oracle8i发行版80数据库或服务)才能正常实现远程连接,不明其中原因,也就只有选第二个拉。

然后输入我的数据库实例SID:xy然后选择网络协议,双机互联应该选择TCP吧,再然后填写数据库所在的主机名:kxyhome

。端口号采用默认的1521。

打开secureCRT,连接到数据库所在的linux机器。若用户为root,请输入命令“su - oracle”并回车,若要密码,输入密码后并回车,就切换到了oracle用户下。(图为已切换到oracle用户下了)

如何在linux下重启oracle数据库

关掉oracle的监听进程:命令为“lsnrctl stop”并回车,这时外部没法连接到数据库了。如图有提示关闭成功信息。

如何在linux下重启oracle数据库

先杀掉所有session,小编用的是命令:“ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk '{print $2}'|xargs kill”也可以用其他办法。然后用sqlplus登录到数据库。命令依次为:“sqlplus /nolog”-“connect / as sysdba” ,最后用命令关闭oracle数据库"shutdown immediate" 。关闭命令的时候需要等待点时间,成功后会有如图的提示。

如何在linux下重启oracle数据库

用命令"exit"退出sqlplus。然后用命令“lsnrctl start”启动数据库的监听进程。如图

提示语句表明启动成功。

如何在linux下重启oracle数据库

和第三步一样,先用sqlplus登录到数据库。命令依次为:“sqlplus /nolog”-“connect / as sysdba”。然后输入命令“startup”并回车。等待几分钟会出现如图提示信息。最后用命令“exit”退出sqlplus。

如何在linux下重启oracle数据库

END

注意事项

注意命令不要输入错误。

在关闭数据库的时候要耐心等待一下。

一定要先杀掉所有session哦。

1。确认安装了Oracle >

可能有以下情况,你可以检查一下

1、cmd中使用ipconfig 查看下机器的IP是否发生改变

2、ORACLE安装目录下 \product\1110\NETWORK\ADMIN\ 中的 listenerora 文件中的监听是否正确;主要关注端口和IP地址。

3、若以上都没有问题,则在开始-运行 输入 servicesmsc 把数据库服务和监听服务都重新启动以下。

以上就是关于Linux下如何启动、关闭Oracle以及打开关闭监听全部的内容,包括:Linux下如何启动、关闭Oracle以及打开关闭监听、怎么解决OracleOraDb10g_home1iSQL*Plus服务启动异常、Oracle数据库监听配置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10177436.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存