1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SAP HANA】移行ツールを使ったHANA ServiceからHANA Cloudへの移行手順

Last updated at Posted at 2024-05-27

はじめに

HANA Serviceのサービス終了に伴い、移行ツールを用いてHANA Cloudへの移行を実施しました。
本記事では、移行ツールを用いた移行手順について紹介します。

移行手順

SAP HANA Cloudから「Manage Migrations」を選択

スクリーンショット 2024-05-10 1850382.png

移行先のサブアカウントとスペースを選択し「Create Migration」を押下

スクリーンショット 2024-05-10 1829492.png

Migrationの名前を設定し、移行するデータベースの種類を選択する。

スクリーンショット 2024-05-10 1830272.png

移行元のBTPユーザIDとパスワードを入力

スクリーンショット 2024-05-10 1831552.png

移行元のスペースとHANAインスタンスを選択し、DBユーザとパスワードを入力

スクリーンショット 2024-05-10 1835212.png

DBユーザの権限不足によるエラー発生

スクリーンショット 2024-05-10 1836232.png

ログインユーザ自身に権限を付与することは出来ない為、別のユーザでログインしてから実行する必要がある。今回はSYSTEMユーザでログインし以下のSQLでORG_PLANに権限を付与
GRANT SELECT ON _SYS_REPO.DELIVERY_UNITS TO <username>;
GRANT SELECT ON _SYS_REPO.ACTIVE_OBJECT TO <username>; 
GRANT CATALOG READ TO <username>;
GRANT INIFILE ADMIN TO <username>;
GRANT TRUST ADMIN TO <username>;
GRANT CERTIFICATE ADMIN TO <username>;
GRANT CREATE REMOTE SOURCE TO <username>;
GRANT EXPORT TO <username>;
GRANT EXECUTE ON SYS.EXPORT_CATALOG_FOR_MIGRATION_DEV TO <username>;
DO BEGIN 
    SELECT * FROM PUBLIC.M_SERVICES WHERE SERVICE_NAME = 'diserver';
    IF ::ROWCOUNT != 0 
    THEN 
        EXEC 'CREATE LOCAL TEMPORARY TABLE #PRIVILEGES LIKE _SYS_DI.TT_API_PRIVILEGES'; 
        EXEC 'INSERT INTO #PRIVILEGES (PRINCIPAL_NAME, PRIVILEGE_NAME, OBJECT_NAME) SELECT ''<username>'', PRIVILEGE_NAME, OBJECT_NAME FROM _SYS_DI.T_DEFAULT_DI_ADMIN_PRIVILEGES';
        EXEC 'CALL _SYS_DI.GRANT_CONTAINER_GROUP_API_PRIVILEGES_WITH_GRANT_OPTION(''_SYS_DI'', #PRIVILEGES, _SYS_DI.T_NO_PARAMETERS, ?, ?, ?)'; 
        EXEC 'DROP TABLE #PRIVILEGES'; 
        EXEC 'GRANT SELECT ON _SYS_DI.TT_API_PRIVILEGES to <username>'; 
        EXEC 'GRANT SELECT ON _SYS_DI.T_DEFAULT_CONTAINER_GROUP_ADMIN_PRIVILEGES to <username>'; 
        EXEC 'GRANT SELECT ON _SYS_DI.T_NO_PARAMETERS to <username>'; 
    END IF; 
END; 
GRANT SELECT ON SCHEMA _SYS_STATISTICS TO <username>;
GRANT SELECT ON SCHEMA _SYS_BI TO <username>;
GRANT SAP_INTERNAL_HANA_SUPPORT TO <username>; -- Only required when migrating SAP HANA databases in the Neo environment 
権限付与後にリトライ

スクリーンショット 2024-05-15 1201102.png

互換性チェックが実行される

スクリーンショット 2024-05-10 183832.png

結果として Critical Error Warning Infoの4つのレベルがあり、Criticalの場合は解消しなければ移行を行うことは出来ません。その他の場合は内容を確認し問題なければ先に進めることができます。

スクリーンショット 2024-05-10 1859262.png

移行ユーザとして前処理で設定したDBユーザを利用する場合は、YESを選択する。

スクリーンショット 2024-05-10 1847572.png

スキーマとHDIコンテナサービスインスタンスを移行する場合はYESを選択し、インスタンスの名(接頭辞・接尾辞)を設定する。

スクリーンショット 2024-05-10 184839.png

移行先のインスタンスを選択し、管理者パスワードを入力し移行を実行。
移行先と移行元でスペースが異なる場合、以下のようなエラーが発生。
スペースの共有設定を行う必要があります。

スクリーンショット 2024-05-10 184946.png

スペースの共有設定

HANA Cloud > HANA Cloud Central

スクリーンショット 2024-05-10 1850382.png

インスタンス名のリンクを押下

スクリーンショット 2024-05-10 1851312.png

Create Mappingを押下

スクリーンショット 2024-05-10 1852112.png

対象のサブアカウント、スペースを選択し「Add」を押下
これでスペースの共有設定は完了です。

スクリーンショット 2024-05-10 1852432.png

スペース共有設定後に再度移行実行。
スキーマ単位で権限が不足している場合以下のようなエラーが発生するため。以下のSQLで権限を付与
GRANT SELECT ON SCHEMA <schemaname> TO <username>

スクリーンショット 2024-05-10 1854322.png

スキーマ権限付与後に再度移行実行し移行作業正常終了

スクリーンショット 2024-05-10 185548.png

特に移行時に問題がなければNoneを選択し移行作業完了
移行ユーザを削除する場合は一番下のチェックボックスにチェックを入れる。

スクリーンショット 2024-05-10 1857052.png

最後に、移行中に実行されたタスクの概要が表示される。

スクリーンショット 2024-05-10 185807.png

まとめ

今回は移行ツールを用いた、HANA Cloudへの移行手順を記載しました。途中で権限設定などを行う必要はありますが、手順に沿って進めれば特に難しいことはなく、スキーマやHDIコンテナなど一括で移行を行うことができ、最も効率の良い方法だと思われますので、HANA Cloudへの移行には移行ツールを利用することをオススメします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?