首批通过分布式安全可靠测评,为关键业务系统打造
如果误删了整个 /home/admin/oceanbase/ 目录,该如何恢复
更新时间:2026-06-04 09:56
本文主要介绍了如果用户误删了 OceanBase 集群中某个 OBServer 节点或者多个 OBServer 节点上的整个 /home/admin/oceanbase/ 目录,这种情况下该如何进行 OceanBase 集群的恢复。
恢复误删了整个 /home/admin/oceanbase/ 目录的步骤
模拟用户误删了整个
/home/admin/oceanbase/目录。[admin@ob61 ~]$ rm -rf /home/admin/oceanbase/使用如下命令查看 OBServer 进程。
[root@ob61 ~]# ps -ef | grep observer admin 194176 1 81 Jul05 ? 1-21:44:11 /home/admin/oceanbase/bin/observer root 886246 883843 0 18:26 pts/0 00:00:00 grep observer将该问题节点上的 OBServer 进程 kill 掉。
[root@ob61 ~]# pkill -9 observer再次使用如下命令查看 OBServer 进程。
[root@ob61 ~]# ps -ef | grep observer root 886273 883843 0 18:27 pts/0 00:00:00 grep observer在剩余的某个正常的 OBServer 服务器上,将
/home/admin/oceanbase/目录整体打包压缩拷贝到上面发生问题的节点上。[admin@ob58 ~]$ tar --exclude='log/*' -cpzvf oceanbase.tar.gz /home/admin/oceanbase tar: Removing leading `/' from member names /home/admin/oceanbase/ /home/admin/oceanbase/admin/ /home/admin/oceanbase/admin/__dbms_upgrade.sql /home/admin/oceanbase/admin/__dbms_upgrade_body.sql /home/admin/oceanbase/admin/__dbms_upgrade_body_mysql.sql /home/admin/oceanbase/admin/__dbms_upgrade_mysql.sql /home/admin/oceanbase/admin/catodci.sql /home/admin/oceanbase/admin/dbms_any.sql /home/admin/oceanbase/admin/dbms_any_body.sql /home/admin/oceanbase/admin/dbms_application.sql /home/admin/oceanbase/admin/dbms_application_body.sql /home/admin/oceanbase/admin/dbms_application_body_mysql.sql /home/admin/oceanbase/admin/dbms_application_mysql.sql /home/admin/oceanbase/admin/dbms_ash_internal.sql /home/admin/oceanbase/admin/dbms_ash_internal_body.sql /home/admin/oceanbase/admin/dbms_audit_mgmt.sql /home/admin/oceanbase/admin/dbms_audit_mgmt_body.sql /home/admin/oceanbase/admin/dbms_crypto.sql /home/admin/oceanbase/admin/dbms_crypto_body.sql /home/admin/oceanbase/admin/dbms_debug.sql /home/admin/oceanbase/admin/dbms_debug_body.sql /home/admin/oceanbase/admin/dbms_describe.sql /home/admin/oceanbase/admin/dbms_describe_body.sql /home/admin/oceanbase/admin/dbms_errlog.sql /home/admin/oceanbase/admin/dbms_errlog_body.sql /home/admin/oceanbase/admin/dbms_ijob.sql /home/admin/oceanbase/admin/dbms_ijob_body.sql /home/admin/oceanbase/admin/dbms_ischeduler.sql /home/admin/oceanbase/admin/dbms_ischeduler_body.sql /home/admin/oceanbase/admin/dbms_job.sql /home/admin/oceanbase/admin/dbms_job_body.sql /home/admin/oceanbase/admin/dbms_lob.sql /home/admin/oceanbase/admin/dbms_lob_body.sql /home/admin/oceanbase/admin/dbms_lock.sql /home/admin/oceanbase/admin/dbms_lock_body.sql /home/admin/oceanbase/admin/dbms_metadata.sql /home/admin/oceanbase/admin/dbms_metadata_body.sql /home/admin/oceanbase/admin/dbms_monitor.sql /home/admin/oceanbase/admin/dbms_monitor_body.sql /home/admin/oceanbase/admin/dbms_monitor_body_mysql.sql /home/admin/oceanbase/admin/dbms_monitor_mysql.sql /home/admin/oceanbase/admin/dbms_output.sql /home/admin/oceanbase/admin/dbms_output_body.sql /home/admin/oceanbase/admin/dbms_plancache.sql /home/admin/oceanbase/admin/dbms_plancache_body.sql /home/admin/oceanbase/admin/dbms_preprocessor.sql /home/admin/oceanbase/admin/dbms_preprocessor_body.sql /home/admin/oceanbase/admin/dbms_random.sql /home/admin/oceanbase/admin/dbms_random_body.sql /home/admin/oceanbase/admin/dbms_resource_manager.sql /home/admin/oceanbase/admin/dbms_resource_manager_body.sql /home/admin/oceanbase/admin/dbms_resource_manager_body_mysql.sql /home/admin/oceanbase/admin/dbms_resource_manager_mysql.sql /home/admin/oceanbase/admin/dbms_rls.sql /home/admin/oceanbase/admin/dbms_rls_body.sql /home/admin/oceanbase/admin/dbms_scheduler.sql /home/admin/oceanbase/admin/dbms_scheduler_body.sql /home/admin/oceanbase/admin/dbms_scheduler_mysql.sql /home/admin/oceanbase/admin/dbms_scheduler_mysql_body.sql /home/admin/oceanbase/admin/dbms_session.sql /home/admin/oceanbase/admin/dbms_session_body.sql /home/admin/oceanbase/admin/dbms_session_body_mysql.sql /home/admin/oceanbase/admin/dbms_session_mysql.sql /home/admin/oceanbase/admin/dbms_spm.sql /home/admin/oceanbase/admin/dbms_spm_body.sql /home/admin/oceanbase/admin/dbms_spm_body_mysql.sql /home/admin/oceanbase/admin/dbms_spm_mysql.sql /home/admin/oceanbase/admin/dbms_sql.sql /home/admin/oceanbase/admin/dbms_sql_body.sql /home/admin/oceanbase/admin/dbms_standard.sql /home/admin/oceanbase/admin/dbms_stats.sql /home/admin/oceanbase/admin/dbms_stats_body.sql /home/admin/oceanbase/admin/dbms_stats_body_mysql.sql /home/admin/oceanbase/admin/dbms_stats_mysql.sql /home/admin/oceanbase/admin/dbms_sys_error.sql /home/admin/oceanbase/admin/dbms_sys_error_body.sql /home/admin/oceanbase/admin/dbms_udr.sql /home/admin/oceanbase/admin/dbms_udr_body.sql /home/admin/oceanbase/admin/dbms_udr_body_mysql.sql /home/admin/oceanbase/admin/dbms_udr_mysql.sql /home/admin/oceanbase/admin/dbms_utility.sql /home/admin/oceanbase/admin/dbms_utility_body.sql /home/admin/oceanbase/admin/dbms_utl_encode.sql /home/admin/oceanbase/admin/dbms_utl_encode_body.sql /home/admin/oceanbase/admin/dbms_warning.sql /home/admin/oceanbase/admin/dbms_warning_body.sql /home/admin/oceanbase/admin/dbms_workload_repository.sql /home/admin/oceanbase/admin/dbms_workload_repository_body.sql /home/admin/oceanbase/admin/dbms_workload_repository_body_mysql.sql /home/admin/oceanbase/admin/dbms_workload_repository_mysql.sql /home/admin/oceanbase/admin/dbms_xa.sql /home/admin/oceanbase/admin/dbms_xa_body.sql /home/admin/oceanbase/admin/dbms_xplan.sql /home/admin/oceanbase/admin/dbms_xplan_body.sql /home/admin/oceanbase/admin/dbms_xplan_mysql.sql /home/admin/oceanbase/admin/dbms_xplan_mysql_body.sql /home/admin/oceanbase/admin/json_element_type.sql /home/admin/oceanbase/admin/json_element_type_body.sql /home/admin/oceanbase/admin/json_object_type.sql /home/admin/oceanbase/admin/json_object_type_body.sql /home/admin/oceanbase/admin/odciconst.sql /home/admin/oceanbase/admin/sa_components.sql /home/admin/oceanbase/admin/sa_components_body.sql /home/admin/oceanbase/admin/sa_label_admin.sql /home/admin/oceanbase/admin/sa_label_admin_body.sql /home/admin/oceanbase/admin/sa_policy_admin.sql /home/admin/oceanbase/admin/sa_policy_admin_body.sql /home/admin/oceanbase/admin/sa_session.sql /home/admin/oceanbase/admin/sa_session_body.sql /home/admin/oceanbase/admin/sa_sysdba.sql /home/admin/oceanbase/admin/sa_sysdba_body.sql /home/admin/oceanbase/admin/sa_user_admin.sql /home/admin/oceanbase/admin/sa_user_admin_body.sql /home/admin/oceanbase/admin/utl_file.sql /home/admin/oceanbase/admin/utl_file_body.sql /home/admin/oceanbase/admin/utl_i18n.sql /home/admin/oceanbase/admin/utl_i18n_body.sql /home/admin/oceanbase/admin/utl_inaddr.sql /home/admin/oceanbase/admin/utl_inaddr_body.sql /home/admin/oceanbase/admin/utl_raw.sql /home/admin/oceanbase/admin/utl_raw_body.sql /home/admin/oceanbase/admin/utlpwdmg.sql /home/admin/oceanbase/admin/xml_type.sql /home/admin/oceanbase/admin/xml_type_body.sql /home/admin/oceanbase/bin/ /home/admin/oceanbase/bin/bench_io.sh /home/admin/oceanbase/bin/dooba /home/admin/oceanbase/bin/import_srs_data.py /home/admin/oceanbase/bin/import_time_zone_info.py /home/admin/oceanbase/bin/ob_admin /home/admin/oceanbase/bin/observer /home/admin/oceanbase/bin/obstack /home/admin/oceanbase/etc/ /home/admin/oceanbase/etc/default_srs_data_mysql.sql /home/admin/oceanbase/etc/fill_help_tables-ob.sql /home/admin/oceanbase/etc/oceanbase_upgrade_dep.yml /home/admin/oceanbase/etc/timezone_V1.log /home/admin/oceanbase/etc/upgrade_checker.py /home/admin/oceanbase/etc/upgrade_health_checker.py /home/admin/oceanbase/etc/upgrade_post.py /home/admin/oceanbase/etc/upgrade_pre.py /home/admin/oceanbase/etc/observer.config.bin.history /home/admin/oceanbase/etc/observer.config.bin /home/admin/oceanbase/store/ /home/admin/oceanbase/store/arm_cluster/ /home/admin/oceanbase/store/arm_cluster/sstable /home/admin/oceanbase/store/arm_cluster/slog /home/admin/oceanbase/store/arm_cluster/clog /home/admin/oceanbase/run/ /home/admin/oceanbase/run/observer.pid tar: /home/admin/oceanbase/run/sql.sock: socket ignored tar: /home/admin/oceanbase/run/rpc.sock: socket ignored tar: /home/admin/oceanbase/run/lua.sock: socket ignored /home/admin/oceanbase/log/ /home/admin/oceanbase/audit/ /home/admin/oceanbase/audit/observer_10786_20240704203245460.aud /home/admin/oceanbase/audit/observer_12592_20240704203724308.aud /home/admin/oceanbase/audit/observer_22986_20240704210900855.aud /home/admin/oceanbase/audit/observer_43673_20240704222713150.aud /home/admin/oceanbase/audit/observer_212474_20240705103234015.aud /home/admin/oceanbase/wallet/ /home/admin/oceanbase/wallet/.key/ /home/admin/oceanbase/wallet/.key/1 /home/admin/oceanbase/wallet/.key/1002 /home/admin/oceanbase/wallet/master-key.bin.20240705000019.bak /home/admin/oceanbase/wallet/master-key.bin.20240705000031.bak /home/admin/oceanbase/wallet/master-key.bin /home/admin/oceanbase/wallet/ca.pem /home/admin/oceanbase/wallet/server-cert.pem /home/admin/oceanbase/wallet/server-key.pem /home/admin/oceanbase/wallet/client-cert.pem /home/admin/oceanbase/wallet/client-key.pem /home/admin/oceanbase/wallet/client-req.pem /home/admin/oceanbase/cgroup查看指定文件大小使用如下命令。
[admin@ob58 ~]$ du -sh oceanbase.tar.gz 253M oceanbase.tar.gz将压缩文件拷贝至发生问题的 OBServer 节点。
[admin@ob58 ~]$ scp oceanbase.tar.gz admin@192.xxx.xxx.61:~在发生问题的 OBServer 节点上,解压上面拷贝过来的压缩文件。
[admin@ob61 ~]$ tar zxvf oceanbase.tar.gz -C / home/admin/oceanbase/ home/admin/oceanbase/admin/ home/admin/oceanbase/admin/__dbms_upgrade.sql home/admin/oceanbase/admin/__dbms_upgrade_body.sql home/admin/oceanbase/admin/__dbms_upgrade_body_mysql.sql home/admin/oceanbase/admin/__dbms_upgrade_mysql.sql home/admin/oceanbase/admin/catodci.sql home/admin/oceanbase/admin/dbms_any.sql home/admin/oceanbase/admin/dbms_any_body.sql home/admin/oceanbase/admin/dbms_application.sql home/admin/oceanbase/admin/dbms_application_body.sql home/admin/oceanbase/admin/dbms_application_body_mysql.sql home/admin/oceanbase/admin/dbms_application_mysql.sql home/admin/oceanbase/admin/dbms_ash_internal.sql home/admin/oceanbase/admin/dbms_ash_internal_body.sql home/admin/oceanbase/admin/dbms_audit_mgmt.sql home/admin/oceanbase/admin/dbms_audit_mgmt_body.sql home/admin/oceanbase/admin/dbms_crypto.sql home/admin/oceanbase/admin/dbms_crypto_body.sql home/admin/oceanbase/admin/dbms_debug.sql home/admin/oceanbase/admin/dbms_debug_body.sql home/admin/oceanbase/admin/dbms_describe.sql home/admin/oceanbase/admin/dbms_describe_body.sql home/admin/oceanbase/admin/dbms_errlog.sql home/admin/oceanbase/admin/dbms_errlog_body.sql home/admin/oceanbase/admin/dbms_ijob.sql home/admin/oceanbase/admin/dbms_ijob_body.sql home/admin/oceanbase/admin/dbms_ischeduler.sql home/admin/oceanbase/admin/dbms_ischeduler_body.sql home/admin/oceanbase/admin/dbms_job.sql home/admin/oceanbase/admin/dbms_job_body.sql home/admin/oceanbase/admin/dbms_lob.sql home/admin/oceanbase/admin/dbms_lob_body.sql home/admin/oceanbase/admin/dbms_lock.sql home/admin/oceanbase/admin/dbms_lock_body.sql home/admin/oceanbase/admin/dbms_metadata.sql home/admin/oceanbase/admin/dbms_metadata_body.sql home/admin/oceanbase/admin/dbms_monitor.sql home/admin/oceanbase/admin/dbms_monitor_body.sql home/admin/oceanbase/admin/dbms_monitor_body_mysql.sql home/admin/oceanbase/admin/dbms_monitor_mysql.sql home/admin/oceanbase/admin/dbms_output.sql home/admin/oceanbase/admin/dbms_output_body.sql home/admin/oceanbase/admin/dbms_plancache.sql home/admin/oceanbase/admin/dbms_plancache_body.sql home/admin/oceanbase/admin/dbms_preprocessor.sql home/admin/oceanbase/admin/dbms_preprocessor_body.sql home/admin/oceanbase/admin/dbms_random.sql home/admin/oceanbase/admin/dbms_random_body.sql home/admin/oceanbase/admin/dbms_resource_manager.sql home/admin/oceanbase/admin/dbms_resource_manager_body.sql home/admin/oceanbase/admin/dbms_resource_manager_body_mysql.sql home/admin/oceanbase/admin/dbms_resource_manager_mysql.sql home/admin/oceanbase/admin/dbms_rls.sql home/admin/oceanbase/admin/dbms_rls_body.sql home/admin/oceanbase/admin/dbms_scheduler.sql home/admin/oceanbase/admin/dbms_scheduler_body.sql home/admin/oceanbase/admin/dbms_scheduler_mysql.sql home/admin/oceanbase/admin/dbms_scheduler_mysql_body.sql home/admin/oceanbase/admin/dbms_session.sql home/admin/oceanbase/admin/dbms_session_body.sql home/admin/oceanbase/admin/dbms_session_body_mysql.sql home/admin/oceanbase/admin/dbms_session_mysql.sql home/admin/oceanbase/admin/dbms_spm.sql home/admin/oceanbase/admin/dbms_spm_body.sql home/admin/oceanbase/admin/dbms_spm_body_mysql.sql home/admin/oceanbase/admin/dbms_spm_mysql.sql home/admin/oceanbase/admin/dbms_sql.sql home/admin/oceanbase/admin/dbms_sql_body.sql home/admin/oceanbase/admin/dbms_standard.sql home/admin/oceanbase/admin/dbms_stats.sql home/admin/oceanbase/admin/dbms_stats_body.sql home/admin/oceanbase/admin/dbms_stats_body_mysql.sql home/admin/oceanbase/admin/dbms_stats_mysql.sql home/admin/oceanbase/admin/dbms_sys_error.sql home/admin/oceanbase/admin/dbms_sys_error_body.sql home/admin/oceanbase/admin/dbms_udr.sql home/admin/oceanbase/admin/dbms_udr_body.sql home/admin/oceanbase/admin/dbms_udr_body_mysql.sql home/admin/oceanbase/admin/dbms_udr_mysql.sql home/admin/oceanbase/admin/dbms_utility.sql home/admin/oceanbase/admin/dbms_utility_body.sql home/admin/oceanbase/admin/dbms_utl_encode.sql home/admin/oceanbase/admin/dbms_utl_encode_body.sql home/admin/oceanbase/admin/dbms_warning.sql home/admin/oceanbase/admin/dbms_warning_body.sql home/admin/oceanbase/admin/dbms_workload_repository.sql home/admin/oceanbase/admin/dbms_workload_repository_body.sql home/admin/oceanbase/admin/dbms_workload_repository_body_mysql.sql home/admin/oceanbase/admin/dbms_workload_repository_mysql.sql home/admin/oceanbase/admin/dbms_xa.sql home/admin/oceanbase/admin/dbms_xa_body.sql home/admin/oceanbase/admin/dbms_xplan.sql home/admin/oceanbase/admin/dbms_xplan_body.sql home/admin/oceanbase/admin/dbms_xplan_mysql.sql home/admin/oceanbase/admin/dbms_xplan_mysql_body.sql home/admin/oceanbase/admin/json_element_type.sql home/admin/oceanbase/admin/json_element_type_body.sql home/admin/oceanbase/admin/json_object_type.sql home/admin/oceanbase/admin/json_object_type_body.sql home/admin/oceanbase/admin/odciconst.sql home/admin/oceanbase/admin/sa_components.sql home/admin/oceanbase/admin/sa_components_body.sql home/admin/oceanbase/admin/sa_label_admin.sql home/admin/oceanbase/admin/sa_label_admin_body.sql home/admin/oceanbase/admin/sa_policy_admin.sql home/admin/oceanbase/admin/sa_policy_admin_body.sql home/admin/oceanbase/admin/sa_session.sql home/admin/oceanbase/admin/sa_session_body.sql home/admin/oceanbase/admin/sa_sysdba.sql home/admin/oceanbase/admin/sa_sysdba_body.sql home/admin/oceanbase/admin/sa_user_admin.sql home/admin/oceanbase/admin/sa_user_admin_body.sql home/admin/oceanbase/admin/utl_file.sql home/admin/oceanbase/admin/utl_file_body.sql home/admin/oceanbase/admin/utl_i18n.sql home/admin/oceanbase/admin/utl_i18n_body.sql home/admin/oceanbase/admin/utl_inaddr.sql home/admin/oceanbase/admin/utl_inaddr_body.sql home/admin/oceanbase/admin/utl_raw.sql home/admin/oceanbase/admin/utl_raw_body.sql home/admin/oceanbase/admin/utlpwdmg.sql home/admin/oceanbase/admin/xml_type.sql home/admin/oceanbase/admin/xml_type_body.sql home/admin/oceanbase/bin/ home/admin/oceanbase/bin/bench_io.sh home/admin/oceanbase/bin/dooba home/admin/oceanbase/bin/import_srs_data.py home/admin/oceanbase/bin/import_time_zone_info.py home/admin/oceanbase/bin/ob_admin home/admin/oceanbase/bin/observer home/admin/oceanbase/bin/obstack home/admin/oceanbase/etc/ home/admin/oceanbase/etc/default_srs_data_mysql.sql home/admin/oceanbase/etc/fill_help_tables-ob.sql home/admin/oceanbase/etc/oceanbase_upgrade_dep.yml home/admin/oceanbase/etc/timezone_V1.log home/admin/oceanbase/etc/upgrade_checker.py home/admin/oceanbase/etc/upgrade_health_checker.py home/admin/oceanbase/etc/upgrade_post.py home/admin/oceanbase/etc/upgrade_pre.py home/admin/oceanbase/etc/observer.config.bin.history home/admin/oceanbase/etc/observer.config.bin home/admin/oceanbase/store/ home/admin/oceanbase/store/arm_cluster/ home/admin/oceanbase/store/arm_cluster/sstable home/admin/oceanbase/store/arm_cluster/slog home/admin/oceanbase/store/arm_cluster/clog home/admin/oceanbase/run/ home/admin/oceanbase/run/observer.pid home/admin/oceanbase/log/ home/admin/oceanbase/audit/ home/admin/oceanbase/audit/observer_10786_20240704203245460.aud home/admin/oceanbase/audit/observer_12592_20240704203724308.aud home/admin/oceanbase/audit/observer_22986_20240704210900855.aud home/admin/oceanbase/audit/observer_43673_20240704222713150.aud home/admin/oceanbase/audit/observer_212474_20240705103234015.aud home/admin/oceanbase/wallet/ home/admin/oceanbase/wallet/.key/ home/admin/oceanbase/wallet/.key/1 home/admin/oceanbase/wallet/.key/1002 home/admin/oceanbase/wallet/master-key.bin.20240705000019.bak home/admin/oceanbase/wallet/master-key.bin.20240705000031.bak home/admin/oceanbase/wallet/master-key.bin home/admin/oceanbase/wallet/ca.pem home/admin/oceanbase/wallet/server-cert.pem home/admin/oceanbase/wallet/server-key.pem home/admin/oceanbase/wallet/client-cert.pem home/admin/oceanbase/wallet/client-key.pem home/admin/oceanbase/wallet/client-req.pem home/admin/oceanbase/cgroup在有问题的 OBServer 节点上,重新启动 OBServer 进程,需要注意下面的 IP 地址和 Zone 名称需要根据当前节点的实际值调整一下。
[admin@ob61 ~]$ cd /home/admin/oceanbase ; ./bin/observer -I 192.xxx.xxx.61 -z zone3 -o "rootservice_list=192.xxx.xxx.59:2882:2881;192.xxx.xxx.58:2882:2881;192.xxx.xxx.61:2882:2881" ./bin/observer -I 192.xxx.xxx.61 -z zone3 -o rootservice_list=192.xxx.xxx.59:2882:2881;192.xxx.xxx.58:2882:2881;192.xxx.xxx.61:2882:2881 local_ip: 192.xxx.xxx.61 zone: zone3 optstr: rootservice_list=192.xxx.xxx.59:2882:2881;192.xxx.xxx.58:2882:2881;192.xxx.xxx.61:2882:2881 [admin@ob61 oceanbase]$ [admin@ob61 oceanbase]$ ps -ef | grep observer admin 898414 1 99 19:24 ? 00:01:38 ./bin/observer -I 192.xxx.xxx.61 -z zone3 -o rootservice_list=192.xxx.xxx.59:2882:2881;192.xxx.xxx.58:2882:2881;192.xxx.xxx.61:2882:2881 admin 900422 886409 0 19:25 pts/0 00:00:00 grep observer
说明
- 上面的恢复步骤仅适用于
/home/admin/oceanbase/目录被删除的情况,如果 Clog 或者 Data 数据文件同时也被删除,该方法暂时不适用。 - 如果有多个 OBServer 节点上的
/home/admin/oceanbase/目录被删除,只需要在每一个发生问题的节点上执行上面的恢复步骤即可。
适用版本
OceanBase 数据库 V2.x、V3.x、V4.x 版本。