| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> ORACLE RAC 磁盘空间满后导致无法连接/登陆/使用 -> 正文阅读 |
|
[系统运维]ORACLE RAC 磁盘空间满后导致无法连接/登陆/使用 |
? ? ? 事情很突然,临放假了,突然合作单位发来消息说数据库无法访问,远程一试,果然。连忙找之前的安装工程师,表示暂时无法处理,经多方联系之后,依然确定现在找不到人了,需要等过完国庆节之后,可是实时数据的写入、合作方的读取等,怎能等待?于是,实属无奈,决定试试。 ? ? ? 1、登陆服务器后连接oracle数据库时,提示磁盘空间不足,导致sqlplus登陆失败。提示:ORA-09817:Write to audit file failed. Linux-x86_64 Error:28:No space left on device. 通过在root用户下,使用命令 df -h 查看磁盘空间,发现/dev/mapper/centos-root 空间使用100%,由于对linux上的RAC不熟悉,也不敢轻易删除文件,通过命令 du -h --max-depth=1? 查看目录大小,发现空间里有镜像文件、源文件压缩包等占据较大空间,决定删除部分源文件,rm -rf +文件夹,删除了部分数据库源文件,通过检查空间使用率降到80%。 ? ? ? 2、再次连接数据库提示:ORA-12542 TNS 地址已被占用。于是一通百度,发现【oracle数据库管理-ORA-12542 TNS地址已被占用】里面说了客户端访问会存在TCP连接数过多,被迫分配完临时端口的问题,在一台客户端上通过 netstat -n 列出绑定到客户端计算机的 TCP/IP 地址以及 TCP/IP 地址与远程服务器通信所使用的端口,发现列出了3000个左右的端口,则当即关掉此客户端上的数据库访问程序,要求相关人员检查程序。 ? ? 3、在oracle服务器上oracle用户下执行?netstat -an |grep 1521 查看端口相关的TCP/IP地址的情况,发现出现了大量的连接,出自另外一台客户端,则要求客户端使用的相关人员停止数据库访问,整改程序。 ? ? 4、数据库依然访问不到。在oracle 用户下执行 lsnrctl status,提示无监听,用 lsnrctl stop命令提示:无监听错误。后来想到是不是应该看集群的状态,于是在oracle 用户下,通过srvctl status database -d 实例名? 查看数据库集群的状态,提示错误如下: PRCD-1027 : Failed to retrieve database orajq 然后切换到grid账户下,通过命令 crs_stat -t 查看集群状态,提示: CRS-0184: Cannot communicate with the CRS daemon. 通过命令 crsctl check crs ,提示: CRS-4638: Oracle High Availability Servicesis online CRS-4535: Cannot communicate with ClusterReady Services CRS-4529: Cluster Synchronization Servicesis online CRS-4533: Event Manager is online ? ? 5、CRS-4535: Cannot communicate with ClusterReady Services。一番百度之后,首先检查集群状态,在root用户下,先进入gird目录下的bin目录,执行 ./crsctl check cluster? -all,提示节点1出现错误 CRS-4535: Cannot communicate with ClusterReady Services。 ????????然后在节点2上查看磁盘组状态正常,执行命令select name,state,total_mb,free_mb from v$asm_diskgroup; ? ? ? ? 在节点1上尝试关闭crs服务,发现无法正常停止,执行命令? ./crsctl stop crs ,提示 CRS-2796:The command may not proceed when Cluster Ready Services is not running CRS-4687:Shutdown command has completed with errors. CRS-4000:Command stop failed,or completed with errors. ? ? ? ?使用 命令./crsctl stop crs -f 强制停止crs服务。 ? ? ? ?再使用命令./crsctl stop crs 正常停止服务。 ? ? ? ?在节点2上同样在root用户下,进入grid的bin目录使用命令ifconfig查看IP信息, eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500 eno1:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500 eno1:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500 eno1:3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500 ............... ? ? ? ? ?在节点1上使用命令./crsctl start crs 启动服务,通过./crsctl check crs提示节点1正常, CRS-4638: Oracle High Availability Services is online ? ? ? 6、检查节点状态。进入grid使用命令olsnodes -n查看节点,提示两个节点, ????????????????使用命令srvctl status asm -a 查看asm状态正常 ? ? ? ? ? ? ? ? 使用命令crs_stat -t查看crs状态, Name ? ? ? ? ? Type ? ? ? ? ? Target ? ?State ? ? Host ? ? ? ? ? ? ?7、使用sqlplus通过访问自建数据库,提示ERROR: ? ? ? ? 通过system登陆之后,查看数据库用户, select username,account_status from dba_users; 查看数据库参数:show parameter name; 查看数据库实例状态为OPEN:select status from v$instance; 查看数据库状态为READ WRITE:select open_mode from v$database; sqlplus自建用户还是连接不上。 grid用户下查看crs资源状态显示均在线,crsctl stat res -t grid用户下查看集群监听正常srvctl status listener, grid用户下查看scan监听正常srvctl status scan_listener 至此突然想到12c的特性,数据库分为CDB和PDB,自建数据库全部建在PDB上,是否是PDB数据库未正常启动,百度之后发现,PDB数据库在数据库重启之后状态会变为MOUNTED,于是在节点1上使用dba的方式登陆数据库,执行命令select name,open_mode from v$pdbs;状态为READ WRITE正常,在节点2上执行命令发现状态为MOUNTED,于是执行更改命令alter pluggable database pdb1 open;再次查询PDB状态为READ WRITE。 通过自建用户登录,sqlplus '用户名/"密码"'@IP:端口/PDB1,登陆成功,至此完成。 解决问题过程参考的文章如下: Oracle数据库管理-ORA-12542 TNS 地址已被占用_oradbm的博客-CSDN博客_ora-12542 https://jingyan.baidu.com/article/f3e34a12a461d6f5ea653574.html oracle 12C RAC 集群日志(cluster log)目录_whshurk_51CTO博客 Oracle数据库的状态查询 - 规格严格-功夫到家 - 博客园 ORACLE RAC 的启动和关闭顺序 - 百度文库 oracle 11g rac集群重启顺序以及常用管理命令简介 - 平复心态 - 博客园 CRS-0184: Cannot communicate with the CRS daemon.之存储故障解决办法_king_harry的专栏-CSDN博客 https://jingyan.baidu.com/article/00a07f382a0cd182d028dc14.html oracle12c停止,11g与12c启动,关闭RAC_weixin_39989875的博客-CSDN博客RAC 开启关闭(Oracle 12C 小记)_数据库技术_Linux公社-Linux系统门户网站CRS-0184 Cannot communicate with the CRS daemon_ITPUB博客 scan listener 重启_lych528_51CTO博客 Oracle 监听 (oracle Listener) - halberd.lee - 博客园 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 17:49:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |