移行前のインスタンスのクリーンアップ

A cloud migration is a good opportunity to clean up your data in Data Center and move to a cleaner slate in the Cloud. The more data you need to migrate, the longer and more complex your migration can become. Cleaning up your instance before running a test migration can result in a smoother migration, fewer performance issues, and productivity gains in the Cloud. 

移行の実行中にはインスタンスをクリーンアップしない

The best time to clean up your data in Data Center is before you run a migration. Cleaning up your data while a migration is running can cause the migration to fail.

Jira インスタンスをクリーン アップする

変更をテストしてバックアップを作成してください

これらのクリーンアップ操作の中には、Jira のエンティティやインスタンス全般に影響するものがあります。最初にステージング環境で変更をテストしてください。適用する前に、本番インスタンスのバックアップも必ず作成してください。

Jira データをレビューする

  • 重複するメール アドレスを確認して修正します。Jira Cloud では重複したメール アドレスはサポート対象外なので、これは必須の準備手順です。

  • Server/Data Center と Cloud でグループ名の競合を確認して修正します。同名のグループは Jira Cloud にマージされるため、これは必須の準備手順です。

  • Check for and remove any unused Marketplace apps or trial data.

  • 移行するプロジェクトのリストを作成して、移行前に不要なプロジェクトを削除します。

  • データ量 (たとえば、プロジェクトまたはカスタム フィールドの数) を確認し、そのサイズまたは複雑さを削減することを検討します。このデータは、[管理] > [システム] > [システム情報] で確認できます。データには、次の項目が含まれる可能性があります。

    • プロジェクトの数

    • カスタム フィールドの数

    • ワークフローの数

    • 画面の数、課題タイプ、権限スキーム

    • ユーザーの数

    • 非アクティブなユーザーの数

  • Use Marketplace apps like Optimizer for Jira to help you assess current usage and clean up your system.

  • Use the Database Integrity Checker (native to Jira Server) or the Integrity Check for Jira Marketplace app to check the state of your data.

Some customers choose to delete all their data and migrate only configuration and empty project containers. This may be a good option if you're planning to start fresh in the Cloud, but would like to keep your Data Center configuration. Learn more about cleaning up your Jira instance

データベースを最適化する

テーブル、インデックス、または統計をクリーンアップする組み込み機能を使用して、データベースを最適化します。以下に、最も一般的なデータベースのコマンドと最大の Jira テーブルを示します。

PostgreSQL

vacuum full jiraissue; vacuum full jiraaction; vacuum full changegroup; vacuum full changeitem; vacuum full worklog; vacuum full customfieldvalue;

PostgreSQL ドキュメント

MySQL

optimize table jiraissue; optimize table jiraaction; optimize table changegroup; optimize table changeitem; optimize table worklog; optimize table customfieldvalue;

MySQL ドキュメント

Microsoft SQL Server

update statistics jiraissue; update statistics jiraaction; update statistics changegroup; update statistics changeitem; update statistics worklog; update statistics customfieldvalue;

Microsoft SQL Server ドキュメント

ORACLE

analyze table jiraissue compute statistics; analyze table jiraaction compute statistics; analyze table changegroup compute statistics; analyze table changeitem compute statistics; analyze table worklog compute statistics; analyze table customfieldvalue compute statistics;

Oracle ドキュメント

機能の一部は自動的に実行され (自動 vacuum など)、パフォーマンスをすでに最適化しています。移行中に行われる大規模なデータベース操作では、これらを手動で実行することでもメリットがもたらされます。

Jira データのカスタマイズを最小限に抑える

  • カスタム ワークフローを標準化して、移行前にデータの複雑さを軽減します。

  • グループと権限スキームを確認して、不要なものがあるか、使用しているものを標準化または単純化できる機会があるかどうかを検討します。 

  • カスタム フィールド、スキーム、課題タイプ、ステータス、解決状況、ボード、フィルター、画面を合理化します。インスタンスのクリーンアップに役立つ Jira クエリの一部を以下に示します。

これらはサンプル クエリであり、独自の環境で追加の調整やテストが必要になる場合があります。追加サポートについては、組織のデータベース管理者にお問い合わせください。これらのクエリの中には、何百万もの行を含む大規模なインスタンスで行う、実行に長時間を要するクエリがある場合があります。これらは慎重に行う必要があるため、まずはテスト環境で実行することを推奨します。

使用されていないカスタム フィールド

select customfield.id, customfield.cfname from customfield left join customfieldvalue on customfield.id = customfieldvalue.customfield where customfieldvalue.stringvalue is null and customfieldvalue.numbervalue is null and customfieldvalue.textvalue is null and customfieldvalue.datevalue is null order by customfield.id;

ほとんど使用されていないカスタム フィールド

select customfield.id, count (*) from customfield left join customfieldvalue on customfield.id = customfieldvalue.customfield group by customfield.id having count (*) < 5 order by count (*) desc

日付 (YYYY-MM-DD) より後に更新されていないカスタム フィールドを一覧表示します

select field.id, field.cfname from customfield field where field.cfname not in ( select item.field from changeitem item JOIN changegroup cgroup ON item.groupid=cgroup.id where item.fieldtype='custom' and cgroup.created > 'YYYY-MM-DD' ) and customfieldtypekey not like '%com.pyxis.greenhopper%' and customfieldtypekey not like '%com.atlassian.servicedesk%' and customfieldtypekey not like '%com.atlassian.bonfire%'

カスタム フィールドに関連するユーザー アクティビティ (完全なカスタム フィールド IDを使用。例: customfield_10301)

select id, entitytype, entityid, username, to_timestamp(lastviewed/1000) as lastviewed, data from userhistoryitem where entityid='customfield_10001' order by lastviewed desc;

すべての選択リスト カスタム フィールドを一覧表示します

select * from customfield where customfieldtypekey = 'com.atlassian.jira.plugin.system.customfieldtypes:select';

オプションと一緒にすべてのカスタム フィールドを一覧表示します

select cf.id, cf.customfieldtypekey, cf.cfname, cfo.sequence, cfo.customvalue from customfield cf join customfieldoption cfo on cfo.customfield = cf.id where customfieldtypekey = 'com.atlassian.jira.plugin.system.customfieldtypes:select' order by cfo.id, cfo.sequence;

「カスタム フィールド名」またはカスタム フィールド ID「10001」を含むフィルター

select * from searchrequest where reqcontent like '%Field Name%' or reqcontent like '%10001%';

カスタム フィールドを参照するワークフロー

select * from jiraworkflows wf where wf.descriptor like '%customfield_10281%';

グローバル コンテキストを持つフィールド

SELECT distinct(p.pkey), cfname, cf.id, p.pname FROM CUSTOMFIELDVALUE cfv left join JIRAISSUE ji on cfv.ISSUE = ji.id right join CUSTOMFIELD cf on cf.id = cfv.customfield left join project p on p.id = ji.project WHERE cf.id in (''' + globalContextIdsCommaSeparated+ ''') GROUP BY cf.id,cf.cfname,p.pkey, p.pname ORDER BY cf.cfname,p.pname

スクリーン/ワークフロー/通知スキームを持たない、コンテキストを持つ計算対象外のフィールド (値なし)

SELECT cf.id id, to_char(min(ji.created), 'YYYY/MM/DD'), to_char(max(ji.updated), 'YYYY/MM/DD'), count(distinct(ji.id)) FROM CUSTOMFIELDVALUE cfv left join JIRAISSUE ji on cfv.ISSUE = ji.id left join CUSTOMFIELD cf on cf.id = cfv.customfield GROUP BY cf.id ORDER BY cf.id

カスタム フィールドの誤使用の監査

これは、カスタム フィールドの使用方法の抽出を支援するための潜在的なクエリです。これにより、代替目的で使用されている、または単に誤用されているフィールドを特定できます。

select customfield.id, customfield.cfname, customfield.description, customfieldvalue.stringvalue, customfieldvalue.numbervalue, customfieldvalue.textvalue, customfieldvalue.datevalue from customfield left join customfieldvalue on customfield.id = customfieldvalue.customfield where customfieldvalue.stringvalue is not null or customfieldvalue.numbervalue is not null or customfieldvalue.textvalue is not null or customfieldvalue.datevalue is not null group by customfield.id, customfieldvalue.stringvalue, customfieldvalue.numbervalue, customfieldvalue.textvalue, customfieldvalue.datevalue;

カスタム フィールドを削除すると、関連するデータも削除される場合があります。

Be careful when updating or removing shared configuration entities, such as Issue types, Workflows, Custom fields and Schemes from your Data Center instance if you’re planning to migrate additional projects that share these entities later down the track.

Jira Cloud Migration Assistant を使用する

Jira Cloud Migration Assistant は、不要なデータを Cloud に残しておくのに役立ちます。次のような移行前の工夫を施すことができます。

  • プロジェクト選択画面で「最終更新日」でプロジェクトを並べ替えます。これによって、他のプロジェクトよりも先に移行するプロジェクトに集中しやすくなります。

  • アーカイブされたプロジェクトの移行を、移行の前後に別途行うことで、現在のユーザーにとって重要なアクティブ プロジェクトの移行ダウンタイムが増加することを防げます。

  • 移行前のレポートを生成してデータを確認する。

The Jira Cloud Migration Assistant doesn’t migrate all the configurations from your Jira Data Center instance to the Cloud. It performs an analysis of what’s needed for the projects you’ve selected, and only migrates what’s necessary for those projects to continue working in the Cloud. This means that any unmapped or unused configurations like workflow schemes, permissions schemes, and custom fields that aren’t used by the projects you’ve selected are not migrated to the Cloud. Learn more about the Jira Cloud Migration Assistant

Confluence インスタンスをクリーン アップする

変更をテストしてバックアップを作成してください

これらのクリーンアップ操作の中には、Confluence 内のエンティティやインスタンス全般に影響するものがあります。最初にステージング環境で変更をテストしてください。適用する前に、本番インスタンスのバックアップも必ず作成してください。

Confluence データをレビューする

  • 重複するメール アドレスを確認して修正します。Confluence Cloud では重複したメール アドレスはサポート対象外なので、これは必須の準備手順です。

  • Check for and fix any conflicts with group names in Data Center and Cloud. This is a mandatory preparation step as groups with identical names will be merged in Confluence Cloud.

  • Remove any unused Marketplace apps or trial data.

  • Check for and consider removing anything that hasn’t been used recently, such as specific pages, entire spaces, attachments, macros, or Marketplace apps. Learn how to gather usage statistics

Some customers choose to delete all their data and migrate only configuration and empty space containers. This may be a good option if you're planning to start fresh in the Cloud, but would like to keep your Data Center configuration. Learn more about cleaning up your Confluence instance

Confluence データのカスタマイズを最小限に抑える

Below are some Confluence queries you can use to help you clean up your Data Center instance:

これらはサンプル クエリであり、独自の環境で追加の調整やテストが必要になる場合があります。追加サポートについては、組織のデータベース管理者にお問い合わせください。これらのクエリの中には、何百万もの行を含む大規模なインスタンスで行う、実行に長時間を要するクエリがある場合があります。これらは慎重に行う必要があるため、まずはテスト環境で実行することを推奨します。

ユーザーごとにコンテンツ作成の統計結果を返すクエリ

select content.creator, cwd_user.display_name, count(content.contentid) as total_content_created from content inner join user_mapping on content.creator = user_mapping.user_key inner join cwd_user on user_mapping.username = cwd_user.user_name inner join spaces on content.spaceid = spaces.spaceid where contenttype = 'PAGE' and content.creator is not null and content_status = 'current' and prevver is null and content.creationdate between '2018-07-01' and '2019-01-01' group by content.creator, cwd_user.display_nameorder by total_content_created DESC

特定の時刻における各スペースの最終更新日を一覧表示する

SELECT spaces.spacename, spaces.spacekey FROM content, spaces WHERE content.spaceid = spaces.spaceid GROUP BY spaces.spacename, spaces.spacekey HAVING MAX(content.lastmoddate) < '2006-10-10';

次のステップ

インスタンスをクリーン アップした後は、次の移行前チェックリストを確認して、移行の準備を整えます。

詳細情報とサポート

移行をサポートするための多数のチャンネルをご用意しています。

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。