SAP更换数据库地址操作

介绍迁移SAP on HANA数据库的思路,例如做System refresh、环境复制、灾备演练等。

1.对HANA数据做全备

2.将备份文件目录和日志目录复制到新系统

例如: 将备份文件和日志同步到新系统的/tmp目录

/usr/sap/PRD/global/backup/data

/usr/sap/PRD/global/backup/log

3.在新系统安装HANA程序,hostname最好设置成和源系统一样

注意:安装操作系统时,SLES的swap分区要划分30GB及以上。

4.登录到新系统的SYSTEMDB,创建要迁移的数据库租户

CREATE DATABASE DB0 SYSTEM USER PASSWORD Manager1;

5.登录到新系统的SYSTEMDB,使用前面备份出来的文件和日志单独为新创建的数据库租户进行恢复

6.修改SAP应用服务器的配置文件及更新hosts配置

/usr/sap/S4P/SYS/profile/DEFAULT.PFL

下面这些参数根据实际情况进行修改:

SAPDBHOST = HANADBPRD

j2ee/dbtype = hdb

j2ee/dbname = S4P

j2ee/dbhost = HANADBPRD

dbs/hdb/dbname = S4P

dbs/hdb/schema = SAPABAP1

7.在SAP服务器上以SAP应用管理员执行hdbuserstore设置新的数据库连接信息

hdbuserstore set DEFAULT hanaprd.gd.com:30041 SAPABAP1 yourpassword

8.开机测试

注意:迁移之后由于硬件环境等变化,SAP应用的License可能会失效,所以迁移之前最好登录到000 Client解锁sap*用户,设置一个密码。这样迁移之后如果其他用户无法登录,可以用sap*登录进去安装一个临时License。

PostgreSQL 与 SQL Server 的数据类型映射

数据类型在做数据库迁移的时候要用到,不同数据库间的数据类型不尽相同,因此迁移的时候一定要注意数据类型转换,否则会造成数据数据精度丢失、数据截断、乱码等异常问题。

注意:PostgreSQL 中的 money(货币)数据类型现在已经废弃,用 numeric 或 decimal 以及和 to_char 函数一起使用就可以取代它。

  • SQL Server 中的 datetime、smalldatetime 数据类型均包含日期和时间部分,区别只在于精度不同。其对应于 PostgreSQL 中的 timestamp 类型(包含日期和时间)。在 PostgreSQL 中如果只需要日期部分,则可以使用 date 类型,而只需要时间部分则可使用 time 类型。
  • PostgreSQL 中的 bytea(n) 始终为变长的二进制字节数组,相当于 SQL Server 中的 varbinary(n),如果没有指定 bytea 的最大字节数则表示为不限长度的变长字节数组,相当于 SQL Server 中的 image 数据类型。
  • PostgreSQL 中的字符类型没有像 SQL Server 中有对应的本地文本类型和国际化文本类型的两种文本数据类型的区别,存储在 PostgreSQL 中的文本类型的数据是否国际化还是本地化取决于数据库的文本编码设置。
    为了保证数据存储的国际化,建议将数据库的文本编码方式设置为 UTF-8 或者 Unicode,以确保存储的文本可被不同地区和文化下的用户查看和存储。
  • 对于 GUID 类型的数据,在 PostgreSQL 中可以使用 bytea(16) 来保存,可用字节数组函数来对其进行比较等操作。

HANA数据目录迁移小记

迁移情景
/usr/sap/只有200GB空间,此前安装时将HED和HEQ的数据目录设置到在该分区上了,现在改分区已经快用满。但/hana/data还有足够的空间,因此考虑将/usr/sap/下
的数据目录指向/hana/data.