开发者社区> 问答> 正文

OceanBase数据库重启遇到这种情况启动不了了,怎么办?

OceanBase数据库重启遇到这种情况启动不了了,怎么办?d2ed616b283a33397419e17b6a49caaa.png

展开
收起
真的很搞笑 2023-12-12 19:33:31 332 0
来自:OceanBase
4 条回答
写回答
取消 提交回答
  • 看起来你的OceanBase数据库遇到了一个HTTP请求失败的错误,具体表现为执行shell命令cd /home/admin/observer; ulimit -s 10240 -u 655350 -n 655350 -c unlimited; LD_LIBRARY_PATH=/home/admin/observer/lib:$LD_LIBRARY_PATH LD_PRELOAD='' ./home/admin/observer/bin/observer, 返回了一个非零退出码87。另外还有一个问题是创建pid目录失败,返回了同样的错误。

    你可以按照下面步骤尝试解决问题:

    第一步:确认观察者进程

    # ps aux | grep observer
    

    如果有输出说明观察器还在运行;否则你需要手动停止它并删除相关PID文件。

    第二步:修复观察者服务

    尝试重新加载观察者服务以恢复它的正确运行:

    # cd /opt/oracle/OCEANBASE/server/bin/
    # ./oceanbase start observer
    

    注意替换 OCEANBASE/opt/oracle/OCEANBASE/server/bin/ 都应该指向实际安装OceanBase的位置。

    第三步:检查观察者的配置

    打开观察员的服务端口,通常是在 http://localhost:8080 上访问。如果页面显示正常,则表示观察者已经恢复正常。如果不正常则需要进一步调试。

    第四步:重置观察者】

    如果观察者还是有问题,可以尝试清除观察者缓存:

    # cd $ORACLE_HOME/ocp-agent/conf
    # rm -rf *.log
    

    这里的 $ORACLE_HOME 应该是指定OceanBase的安装路径。

    第五步:重启OceanBase

    现在可以尝试重启OceanBase数据库:

    # systemctl restart oceanbase-server
    

    每个步骤之间都需要等待一段时间让操作系统做出反应。如果经过多次尝试之后依然存在问题,那可能就需要深入研究错误日志、检查网络连接以及硬件状况等更多方面寻找答案了。

    2024-01-10 17:04:39
    赞同 展开评论 打赏
  • 从错误信息来看,问题出在尝试执行ulimit命令时,因为传递了过多的参数而失败。

    ulimit是一个用于控制shell及其子进程的资源限制的命令。错误信息“too many arguments”表明传递给ulimit的参数过多。

    执行的命令为:

    curl  -X  GET  -H  "Content-Type:  application/json"  -d  '{"command":  "ulimit  -u  1024"}'  http://localhost:8080/api/v1/agent/command
    

    这个命令中,-d 参数后面跟的 JSON 数据包含了 ulimit 命令的参数。这可能是导致报错的原因。

    2024-01-04 10:50:17
    赞同 1 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    确保您的OceanBase数据库实例处于正常运行状态。如果实例状态异常,重启可能会失败。您可以通过登录到控制台或使用命令行工具来检查实例状态。
    检查备份设置是否正确。如果备份设置不正确,可能会导致重启失败。您可以登录到控制台或使用命令行工具来检查备份设置是否正确。
    检查网络连接是否正常。如果您的网络连接不稳定,重启可能会失败。您可以尝试重新连接网络或使用其他网络环境来进行重启。
    检查磁盘空间是否足够。如果您的磁盘空间不足,重启可能会失败。您可以尝试清理磁盘或扩展磁盘空间来进行重启。

    2023-12-29 12:12:42
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    问题可能是由以下几个方面导致的:

    1. ulimit 命令参数过多:输出中出现了 "sh: 1: ulimit: too many arguments" 的错误信息。这表示 ulimit 命令接收到的参数过多,可能是因为启动脚本中的 ulimit 命令参数设置有误。
    2. 进程 ID 创建失败:出现了 "create pid dir fail" 的错误信息。这可能是由于 OceanBase 数据库的进程 ID 创建失败,请检查数据库的 PID 目录是否被正确创建。
      为了解决这个问题,您可以尝试以下方法:
    3. 检查 OceanBase 数据库的启动脚本,确认 ulimit 命令的参数设置是否正确。如果有疑问,可以参考 OceanBase 官方文档或咨询技术支持。
    4. 检查数据库的 PID 目录是否被正确创建,如果需要,您可以手动创建 PID 目录。
    2023-12-27 21:27:39
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载