
# 详细步骤
1. 加密HANA用户密码，供自定义脚本使用 
   1. 登录HANA服务器，输入**cd /home/rdadmin/Agent/bin/** ，进入Agent目录。
   
   2. 执行**/home/rdadmin/Agent/bin/agentcli encpwd** ，回显如下：
      ```
      Enter password:
      ```
      输入HANA用户的密码，并按"Enter"，屏幕上就会打印出加密后的密码，将其拷贝到剪贴板中。
      执行**cd /home/rdadmin/Agent/bin/thirdparty/ebk_user** ，进入自定义脚本目录，执行**vi hana_freeze.sh** ，打开HANA示例冻结脚本。
      
   
   
   
   
2. 将下图所示的**HANA_USER** **HANA_PASSWORD** **INSTANCE_NUMBER DB_SID** 修改为实际值，其中**HANA_PASSWORD** 为步骤1的屏幕输出。
   
   ![](https://support.huaweicloud.com/bestpractice-csbs/zh-cn_image_0131038035.png)
   也可以使用sed命令来直接进行修改：
   **sed -i 's/\^HANA_USER=.\*/HANA_USER="*XXX*"/' hana_freeze.sh hana_unfreeze.sh** ，其中***XXX***为数据库用户名。
   **sed -i 's/\^HANA_PASSWORD=.\*/HANA_PASSWORD="*XXX*"/' hana_freeze.sh hana_unfreeze.sh** ，其中***XXX***为步骤1中打印出的密码。
   **sed -i 's/\^INSTANCE_NUMBER=.\*/INSTANCE_NUMBER="*XXX*"/' hana_freeze.sh hana_unfreeze.sh** ，其中***XXX***为数据库实例编号。
   **sed -i 's/\^DB_SID=.\*/DB_SID="*XXX*"/' hana_freeze.sh hana_unfreeze.sh** ，其中***XXX***为数据库SID。
   此操作会同时修改冻结解冻脚本，所以无需再执行[步骤3]。
   
   
3. 执行**vi **hana_unfreeze**.sh** ，打开HANA示例解冻脚本，修改此脚本中的用户名、密码、实例编号与SID
   
   ****hana_freeze**.sh** 与****hana_unfreeze**.sh** 脚本实现了基本的数据库冻结与解冻操作，如果您在冻结、解冻时有其它额外步骤需要执行，可以自行在其中进行修改。详细说明请参见 [通过自定义脚本实现其它Linux应用的一致性备份](https://support.huaweicloud.com/bestpractice-csbs/zh-cn_topic_0131026167.html)
   ![](https://support.huaweicloud.com/bestpractice-csbs/public_sys-resources/warning_3.0-zh-cn.png)
   冻结SAP HANA数据库时，按照SAP官方建议，需要冻结Data卷的XFS文件系统，否则可能出现数据不一致的问题。在此示例脚本中，将会查询出HANA使用的Data卷挂载点，并用xfs_freeze 命令进行冻结。
   如果HANA系统未按照SAP官方建议使用一个独立分区来存放Data卷数据，而是与系统卷共用一个分区，则请修改**hana_freeze.sh**脚本，注释掉xfs_freeze相关行，防止整个系统都被冻结，但此时可能出现备份数据不一致的问题。
   
   
 
