Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle Database入門 - データベース設定編

Oracle Database入門 - データベース設定編

11月7日開催 Oracle DBaseCampで発表した資料です。
アーカイブ動画:https://youtu.be/MDD9A1QAUqg

oracle4engineer

November 07, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Education

Transcript

  1. 1. はじめに 2. SQL Developerでデータベースにログイン 3. データベース作成後の主な確認事項および設定 4. データベースユーザーの管理 5.

    表定義とデータの確認 6. 表の作成 7. データ⼊⼒と確認(Data Pumpの使⽤) 8. まとめ Agenda Copyright © 2023, Oracle and/or its affiliates 2
  2. • 意外と簡単⁉データベース構築編で⾏った作業 • Oracle Database 19cのインストール • DBCAを使ったデータベースの作成 • SQL*PLUSでのデータベース起動停⽌

    • システム構成 • オペレーティングシステム︓Windows Server2019 x64 – Standard Edition • RDBMS︓ Oracle Database 19c Enterprise Edition for Windows(19.3) データベース構築編で⾏った作業とシステム構成について Copyright © 2023, Oracle and/or its affiliates 4
  3. • 基本的なデータベース設定をできるようにする • データベース作成後の主な設定、確認事項 • データベースユーザーの管理 • 表定義とデータの確認 • 表の作成

    • データ⼊⼒と確認(Data Pumpの使⽤) • SQL Developerの使い⽅を理解する 本セミナーのゴール Copyright © 2023, Oracle and/or its affiliates 5
  4. データベース関連ドキュメント • Oracle Database データベース管理者リファレンス for Microsoft Windows • Oracle

    Database リリースノート 19c • Oracle Database 2⽇でデータベース管理者 上記の資料は以下のURLより参照できます https://www.oracle.com/jp/database/technologies/oracle-database-documentation.html SQL Developer関連ドキュメント • SQL Developer ユーザーズ・ガイド 上記の資料は以下のURLより参照できます https://www.oracle.com/jp/database/technologies/appdev/oracle-sql-developer-documentation.html ドキュメントの⽤意 Copyright © 2023, Oracle and/or its affiliates 6
  5. データベース開発者/管理者に向けた統合開発ツール • 無償の開発/管理ツール • 簡単なインストール • ダウンロードして展開するのみ • Linux, Windows,

    Mac OSに対応 • 以下の機能をGUI上で⾏うことで、SQLやPL/SQLの 開発⽣産性が向上 • オブジェクトの閲覧と作成 • SQLWorksheet • PL/SQLの編集及びデバッグ • Oracle Databaseのパフォーマンス、セキュリティ、スト レージ、設定などの管理 以下のリンクを参考にSQL Developerをダウンロード https://docs.oracle.com/cd/F51516_01/rptig/in stalling-sql-developer.html SQL Developerとは Copyright © 2023, Oracle and/or its affiliates 8
  6. Copyright © 2023, Oracle and/or its affiliates 9 SQL Developerを使⽤してデータベースに接続してみよう

    ①+ボタンをクリック ②以下の通り⼊⼒いたします (解説がないものはすべてデフォルト) Name:任意の名前(接続名) ユーザー名:sys パスワード︓データベース作成時に設 定したもの ロール︓SYSDBA ホスト名︓作成時に設定したホスト名 ポート︓設定したポート サービス名︓作成時に設定したサービ ス名 ③クリック CDB(sysユーザー)
  7. Copyright © 2023, Oracle and/or its affiliates 10 PDBでの接続 CDBと同じように設定します

    PDB(sysユーザー) サービス名の⼊⼒部分が CDBとPDBで異なります CDB: orcl.subxxxxxxxxxxx.vcn1.oraclevcn.com PDB: pdb1.subxxxxxxxxxxx.vcn1.oraclevcn.com
  8. 【CDB】 • データベースのステータス確認 • データベース運⽤モードの確認 • PDBの管理(CDB固有) • 物理的なファイルの配置確認 •

    制御ファイルの確認(CDB固有) • REDOログ・ファイルの確認(CDB固有) • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • メモリー割り当ての確認 • ユーザー管理 【PDB】 • データベースのステータス確認 • 物理的なファイルの配置確認 • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • ユーザー管理 データベース作成後の主な確認事項および設定 Copyright © 2023, Oracle and/or its affiliates 12 SQL*Developer 「DBA機能」 を利⽤して確認します
  9. Copyright © 2023, Oracle and/or its affiliates 13 SQL Developerでデータベースを管理する

    ①表⽰をクリックし、DBAを クリック ②接続をクリック ③接続先を選択します ④クリック CDB(sysユーザー)
  10. Copyright © 2023, Oracle and/or its affiliates 14 SQL DeveloperのDBA機能

    DBA機能を使えるようになりました CDB(sysユーザー)
  11. Copyright © 2023, Oracle and/or its affiliates 15 PDBでのDBA機能を使⽤する ①+ボタンをク

    リック ③接続できるようになりました ②pdb名を選択しOKをクリック PDB(sysユーザー)
  12. Copyright © 2023, Oracle and/or its affiliates 16 • PDBの管理

    • セッション状況の表⽰ • 表領域およびセグメントスペースの使⽤状況の表⽰ • 待機イベントの表⽰ • 初期化パラメータの表⽰ • リアルタイムSQLモニタリングの表⽰ Enterprise Editionのオプション・ライセンスが必要: Oracle Diagnostics Pack Oracle Tuning Pack SQL DeveloperのDBA機能でできること (⼀部オプション・ライセンスが必要)
  13. 【CDB】 • データベースのステータス確認 • データベース運⽤モードの確認 • PDBの管理(CDB固有) • 物理的なファイルの配置確認 •

    制御ファイルの確認(CDB固有) • REDOログ・ファイルの確認(CDB固有) • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • メモリー割り当ての確認 • ユーザー管理 【PDB】 • データベースのステータス確認 • 物理的なファイルの配置確認 • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • ユーザー管理 データベース作成後の主な確認事項および設定 Copyright © 2023, Oracle and/or its affiliates 17 SQL*Developer 「DBA機能」 を利⽤して確認します
  14. Copyright © 2023, Oracle and/or its affiliates 19 【CDB】データベースの運⽤モードの確認 ①RMANバックアップ/リカバリ

    →RMANの設定をクリック ③ARCHIVELOGモードであることを 確認できました ②メディアリカバリをクリック CDB(sysユーザー)
  15. ノー・アーカイブログモード(テスト環境のみ) アーカイブログモード データベース運⽤モード Copyright © 2023, Oracle and/or its affiliates

    20 #50 #51 #52 #53 #54 #55 循環して 上書き #50 #51 #52 #53 #54 #55 循環して 上書き 循環して REDOログを 上書き #50 #51 #52 #53 #54 #55 REDOログファイル REDOログファイル アーカイブ・ログファイル REDOログの上書き前 にアーカイブする
  16. Copyright © 2023, Oracle and/or its affiliates 22 【CDB】PDBの起動 CDB(sysユーザー)

    ①状態の変更をクリック ②状態のオプションをREAD WRITEに変更 ③クリック
  17. 【CDB】 • データベースのステータス確認 • データベース運⽤モードの確認 • PDBの管理(CDB固有) • 物理的なファイルの配置確認 •

    制御ファイルの確認(CDB固有) • REDOログ・ファイルの確認(CDB固有) • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • メモリー割り当ての確認 • ユーザー管理 【PDB】 • データベースのステータス確認 • 物理的なファイルの配置確認 • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • ユーザー管理 データベース作成後の主な確認事項および設定 Copyright © 2023, Oracle and/or its affiliates 25 SQL*Developer 「DBA機能」 を利⽤して確認します
  18. 【CDB】データファイル 物理的なファイルの配置確認 Copyright © 2023, Oracle and/or its affiliates 28

    ①記憶域→データファイル を選択 ②データファイルを確認 できました CDB(sysユーザー)
  19. 【PDB】データファイル 物理的なファイルの配置確認 Copyright © 2023, Oracle and/or its affiliates 29

    PDB(sysユーザー) ①記憶域→データファイル を選択 ②データファイルを確認 できました
  20. USERS表領域 表領域詳細 Copyright © 2023, Oracle and/or its affiliates 30

    USERS表領域の特徴 • DATAFILE属性 • サイズ: 5MB (5,242,880 byte) • サイズに対するブロック数: 640 (5,242,880 ÷ 8192) • DATAFILEは⾃動拡張(AUTOEXTEND) • (⾃動拡張時の次の確保領域: 1,310,720 byte → 160 Block: dba_data_files の increment_by カラム) • 表領域属性 • 表領域内のエクステント管理: LOCAL • エクステント割り当てのタイプ: SYSTEM → AUTOALLOCATE • 表領域内のセグメントの空き領域と使⽤済み領域の管理⽅法: AUTO • BIGFILE表領域かどうか: NO CDB(sysユーザー)
  21. 参考)論理記憶域構造 Copyright © 2023, Oracle and/or its affiliates 31 データ・ブロック

    データの最⼩レベルでの格納単位。⼀定のバイト数(8KB)の物理ディスク領域に対応 エクステント 論理的に連続する⼀連のデータ・ブロック セグメント 表などの特定のデータベース・オブジェクトのために割り当てられるエクステントの集合 表領域 セグメントを格納するための論理記憶域コンテナ。1つ以上のデータ・ファイルまたは⼀時ファイルで構成 論理記憶域と物理記憶域の ERダイアグラム 表領域 セグメント エクステント データ・ ブロック データ・ ファイル OSブロック 論理記憶域 物理記憶域 エクステント (72 KB) 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB エクステント (120 KB) 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 8 KB データファイル データファイル セグメント (192 KB) データ・ブロック データ・ブロック 特定の オブジェクトに割当 表領域
  22. 現在はローカル管理表領域、⾃動セグメント領域管理 ⾃動セグメント領域管理 Automatic Segment Space Management (ASSM) • 8i以前のフリーリストによる管理に ⽐べ、管理性、領域使⽤効率性、

    同時実⾏処理が向上 • ASSMでなければ以下の機能は 利⽤できない • bigfile表領域 • オンライン・セグメント縮⼩ 参考)表領域における空き領域管理 Copyright © 2023, Oracle and/or its affiliates 32 表領域におけるセグメントに対するExtent割り当て 【ローカル管理表領域】 【Dictionary管理表領域】 【Uniform Size】 【AUTOALLOCATION】 表領域 空き領域 File Header Extent管理情報 セグメント01 セグメント02 セグメント03 表領域 空き領域 File Header Extent管理情報 セグメント01 セグメント02 セグメント03 Extent System Dictionary 表領域 空き領域 File Header セグメント01 セグメント02 セグメント03 Extent管理情報 • Extent管理はDictionary • 表領域内のExtentサイズは詳細指定可能 • 断⽚化率︓ ⼤ • Extent管理は表領域内のファイルヘッダー内の ビットマップで管理 • Extentサイズは指定したサイズで全て均⼀ • 断⽚化率︓ ⼩ • Extent管理は表領域内のファイルヘッダー 内のビットマップで管理 • Extentサイズはセグメントのサイズに従い、 Oracle内部アルゴリズムで決定 • 断⽚化率︓ 中 セグメント内の空き領域管理 Oracle 8.1.5 よりも前 セグメント03 空き領域
  23. 参考)表領域における空き領域管理 Copyright © 2023, Oracle and/or its affiliates 33 表領域の

    エクステント管理⽅法 8iまでデフォルト 9iからデフォルト ※ System表領域の LOCAL指定はR9.2から CREATE TABLESPACE XXX …… EXTENT MANAGEMENT LOCAL PCTFREE 表領域作成時の指定⽅法 PCTFREE PCTUSED FREELISTS FREELISTS GROUP ディクショナリ管理 ローカル管理 ⼿動データブロック 管理(MANUAL) ⾃動セグメント領域 管理(AUTO) エクステントサイズ 均⼀サイズ指定 エクステントサイズ System⾃動管理 9i以降利⽤可 SEGMENT SPACE MANAGEMENT AUTOALLOCATION UNIFORM SIZE <サイズ> AUTO
  24. smallfile表領域(デフォルト) • 複数のデータファイルを束ねて利⽤可能 (最⼤1023 個まで) bigfile表領域(10g〜) • 単⼀の⾮常に⼤きなデータファイルのみで構成 • ファイル管理が簡素化できる

    • ローカル管理表領域かつ⾃動セグメント領域管理で あること • Oracle Automatic Storage Management (ASM) 上での利⽤を推奨 参考)bigfile表領域 Copyright © 2023, Oracle and/or its affiliates 34 CREATE BIGFILE TABLESPACE XXX …… 【参考】物理データベースの制限 Oracle Database のデータファイルの制限: • 1つのデータファイルあたり 2^22 -1 = 4,194,303 block → smallfile表領域では、ブロック・サイズが 8k の場合、1つのデータ ファイルに 32 GB のデータを格納できる それ以上の容量の表領域を作成したい場合は複数のデータファイ ルを束ねる必要がある → bigfile表領域では、ブロックサイズが 8k の場合、32TB までデータ を格納できる ※ Oracle Base Database Service のUSERS表領域は smallfile表領域のため、 ⼤量データの格納するには独⾃の bigfile表領域を⽤意すべき db_block_size データファイルの最⼤サイズ 2k byte 約 8 G byte ( 8,589,932,544 byte) 4k byte 約 16 G byte ( 17,179,865,088 byte) 8k byte 約 32 G byte ( 34,359,730,176 byte) 16k byte 約 64 G byte ( 68,719,460,352 byte)
  25. 【CDB】 • データベースのステータス確認 • データベース運⽤モードの確認 • PDBの管理(CDB固有) • 物理的なファイルの配置確認 •

    制御ファイルの確認(CDB固有) • REDOログ・ファイルの確認(CDB固有) • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • メモリー割り当ての確認 • ユーザー管理 【PDB】 • データベースのステータス確認 • 物理的なファイルの配置確認 • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • ユーザー管理 データベース作成後の主な確認事項および設定 Copyright © 2023, Oracle and/or its affiliates 35 SQL*Developer 「DBA機能」 を利⽤して確認します
  26. Copyright © 2023, Oracle and/or its affiliates 36 初期化パラメータの確認 ①データベース構成→初

    期化パラメータを選択 ②初期化パラメータを確 認できました CDB(sysユーザー)
  27. データベース・インスタンスに、メモリー割り当て、制限、デフォルト値、必要なファイルやディレクトリなどを指定 データベースは、インスタンスを起動するために、インスタンス構成パラメータ(初期化パラメータ)を 以下のいずれかのファイルより読み込む • デフォルトでは $ORACLE_HOME/dba (Windowsの場合は $ORACLE_HOME¥database) ディレクトリに存在 •

    初期化パラメータ SPFILE に指定していれば、SPFILE はサーバー上のどこでも配置できる PFILEとSPFILEの相互変換 SPFILE利⽤時のパラメータの動的な変更 初期化パラメータ Copyright © 2023, Oracle and/or its affiliates 37 初期化パラメータ・ファイル(PFILE): テキスト形式(テキスト・エディターで変更可能) パラメータ変更にはインスタンスの再起動が必要 サーバー・パラメータ・ファイル(SPFILE): バイナリ形式(テキスト・エディターで変更不可) 動的にパラメータ値を変更可能 Database Configuration Assistant (DBCA)はPFILEからSPFILEを作成 CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora' FROM PFILE='/u01/oracle/dbs/test_init.ora'; CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM SPFILE ='/u01/oracle/dbs/test_spfile.ora '; ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS=3 COMMENT='Reduce from 10 for tighter security.' SCOPE=SPFILE; SCOPE=SPFILE SPFILEにのみ変更が適⽤。次回インスタンス起動時に有効 SCOPE=MEMORY 現⾏インスタンスに即時適⽤。次回インスタンス起動時には変更が無視 SCOPE=BOTH SPFILEと現⾏インスタンスに即時適⽤。次回インスタンス起動時も有効
  28. PDBで変更可能な初期化パラメータ • 上記の動的パフォーマンス・ビューには「ISPDB_MODIFIABLE」というカラムがあり、この値が「TRUE」のものが PDBで変更可能なもの • ALTER SYSTEM ⽂でPDBを動的に変更可能。 • 構⽂も同じだが、SCOPE=BOTH

    、 SCOPE = SPFILE の初期化パラメータに対する値はPDBのXMLメタデータに保存される。 (SPFILEではない) 参考)初期化パラメータ関連の動的パフォーマンス・ビューとPDBでの変更可否 Copyright © 2023, Oracle and/or its affiliates 38 V$PARAMETER セッションに現在有効になっている初期化パラメータの情報を⽰す V$SYSTEM_PARAMETER インスタンスに現在有効になっている初期化パラメータの情報を⽰す SELECT NAME FROM V$SYSTEM_PARAMETER WHERE ISPDB_MODIFIABLE = 'TRUE' ORDER BY NAME;
  29. Copyright © 2023, Oracle and/or its affiliates 39 メモリの確認 ①データベース・ステータス

    →インスタンス・ビューアを選択 ②メモリの状況を確認できました CDB(sysユーザー)
  30. 【CDB】 • データベースのステータス確認 • データベース運⽤モードの確認 • PDBの管理(CDB固有) • 物理的なファイルの配置確認 •

    制御ファイルの確認(CDB固有) • REDOログ・ファイルの確認(CDB固有) • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • メモリー割り当ての確認 • ユーザー管理 【PDB】 • データベースのステータス確認 • 物理的なファイルの配置確認 • 表領域およびデータファイルの確認 • 論理的な設定の確認 • 初期化パラメータの確認 • ユーザー管理 データベース作成後の主な確認事項および設定 Copyright © 2023, Oracle and/or its affiliates 40 SQL*Developer 「DBA機能」 を利⽤して確認します
  31. マルチテナント・アーキテクチャにおけるユーザー、およびユーザー設定で必要なもの 共通ユーザー • 各コンテナ(ルートと各 PDB) に同じ名前で存在する ユーザー • 共通ユーザーはCDB$ROOTへ接続して作成 •

    初期化パラメータ common_user_prefix で接頭辞を定義可能 デフォルトは C## ローカル・ユーザー • 特定の PDB のみに存在するユーザー (重複可能) • ローカル・ユーザーはそれぞれのPDBへ接続して作成 • PDB個別の管理ユーザも含まれる 【ユーザー設定で必要なもの】 • ユーザー名 / パスワード • プロファイル • ロール、システム権限 • デフォルト表領域 / ⼀時表領域 の指定 【プロファイル】 • システム・リソースおよびパスワード制限の設定をまとめたもの • ユーザーは⼀度に1つのプロファイルのみを割り当てられる • ユーザー作成時に個別にプロファイルを指定しなければ、 DEFAULTプロファイルが適⽤ 【パスワード】 • パスワードの複雑度ファンクションがプロファイルに設定される • Oracle Base Database Service の場合、 「ORA12C_STRONG_VERIFY_FUNCTION」が設定済み • (⼀時的に)無効にする場合は以下を実⾏ データベース・ユーザー Copyright © 2023, Oracle and/or its affiliates 42 SYS/SYSTEM は 特殊な共通ユーザ ローカル・ユーザー 共通ユーザー 重複 可能 SCOTT SCOTT alter profile profile名 limit password_verify_function null;
  32. Copyright © 2023, Oracle and/or its affiliates 43 データベースユーザーの管理 ①セキュリティ

    →ユーザーの 順に選択 ②ユーザー⼀覧が表⽰されました CDB(sysユーザー)
  33. Copyright © 2023, Oracle and/or its affiliates 44 データベースユーザーの管理(PDB) ①セキュリティ

    →ユーザーの 順に選択 ②ユーザー⼀覧が表⽰されました PDB(sysユーザー)
  34. Copyright © 2023, Oracle and/or its affiliates 46 サンプルスキーマHRをオープンにする ①HRスキーマのステータスを確認します

    ②編集をクリック ③新規パスワードを⼊⼒、2か所のチェッ クを外し、下の適⽤をクリック PDB(sysユーザー)
  35. Copyright © 2023, Oracle and/or its affiliates 48 ユーザーの作成:TEST1の作成 ①新規作成をクリック

    ②ユーザー名、パスワードを⼊⼒ ユーザー名︓TEST1 パスワード︓任意の⽂字列 ③表領域の指定 デフォルト表領域︓USERS ⼀時表領域︓TEMP ④クリック PDB(sysユーザー)
  36. 項⽬名 ⼊⼒内容 ユーザー名 TEST1 パスワードは期限切れです チェックしない オペレーティングシステムユーザー チェックしない アカウントがロックされています チェックしない

    エディションの有効 チェックしない デフォルト表領域 USERS ⼀時表領域 TEMP ユーザー情報の⼊⼒内容 Copyright © 2023, Oracle and/or its affiliates 49
  37. Copyright © 2023, Oracle and/or its affiliates 51 ロールの付与 ①編集をクリック

    ②ロールを付与します 今回はCONNECT・RESOURCEロール を付与します ③クリック PDB(sysユーザー)
  38. Copyright © 2023, Oracle and/or its affiliates 53 HRスキーマでSQL Developer接続

    ①先ほどのPDB接続の情報 を使いつつ接続を作成します 変更点︓ 接続名・・任意の名前 ユーザー名︓hr パスワード・・先ほど設定した もの ロール・・デフォルト ②接続をクリック
  39. Copyright © 2023, Oracle and/or its affiliates 54 表定義の確認 ①先ほど作成した接続から表をク

    リック、任意の表をクリックします (今回はEMPLOYEES表を選択) ②表の定義を確 認できました PDB(hrユーザー)
  40. Copyright © 2023, Oracle and/or its affiliates 55 HRスキーマの表を確認 ①データをクリック

    ②表のデータが確 認できました このほか制約や索引もここから 確認することができます PDB(hrユーザー)
  41. • 表作成時に指定するもの • 表名 • 列名 (格納項⽬) • データ型、サイズ(VARCHAR2型、DATE型、NUMBER型) •

    制約(PRIMARY KEY制約、NOT NULL制約など) 表の作成について Copyright © 2023, Oracle and/or its affiliates 60 EMP_ID LAST_NAME HIRE_DATE SALARY 1 ⽥中 03-04-01 700 2 鈴⽊ 05-06-01 600 3 佐藤 07-08-01 500 4 伊藤 07-09-01 450 EMPLOYEES 表名 列 NUMBER型 数字 VARCHAR2型 ⽂字 DATE型 ⽇付
  42. Copyright © 2023, Oracle and/or its affiliates 61 HRスキーマでSQL Developer接続

    ①先ほどのPDB接続の情報 を使いつつ接続を作成します 変更点︓ 接続名・・任意の名前 ユーザー名︓TEST1 パスワード・・先ほど設定した もの ロール・・デフォルト ②接続をクリック
  43. Copyright © 2023, Oracle and/or its affiliates 62 表の作成︓EMPLOYEES表の作成 ①表を右クリックし、

    新規の表をクリック ②スキーマ名、テーブル 名をクリック ③表の設定に必要なも のを⼊⼒していきます ※細かい設定に関しては 次のスライドを参照 ④クリック PDB(TEST1ユーザー)
  44. Copyright © 2023, Oracle and/or its affiliates 63 表の作成︓設定した表定義 列名

    データ型 サイズ NOT NULL PRIMARY KEY EMPLOYEE_ID NUMBER 6 ◦ ◦ FIRST_NAME VARCHAR2 20 LAST_NAME VARCHAR2 25 ◦ EMAIL VARCHAR2 25 ◦ PHONE_NUMBER VARCHAR2 20 HIRE_DATE DATE ◦ JOB_ID VARCHAR2 10 ◦ SALARY NUMBER 8 COMMISSION_PCT NUMBER 2 MANAGER_ID NUMBER 6 DEPARTMENT_ID NUMBER 4 • 表名︓EMPLOYEES • スキーマ︓test1 • 表領域︓USERS
  45. Copyright © 2023, Oracle and/or its affiliates 64 表が作成されました 表が作成されました

    まだ表の中にはデータはありません PDB(TEST1ユーザー)
  46. Copyright © 2023, Oracle and/or its affiliates 65 列名 データ型

    サイズ NOT NULL PRIMARY KEY DEPARTMENT_ID NUMBER 4 ◦ ◦ DEPARTMENT_NAME VARCHAR2 30 ◦ MANAGER_ID NUMBER 6 LOCATION_ID NUMBER 4 表を追加︓DEPARTMENTS表の作成 先ほどと同様の⽅法で、DEPARTMENTS表を作成しましょう 以下の内容でDEPARTMENTS表を作成しています • 表名︓DEPARTMENTS • スキーマ︓test1 • 表領域︓USERS
  47. Copyright © 2023, Oracle and/or its affiliates 66 表と表の関連付け 先ほど作成したEMPLOYEES表とDEPARTMENTS表にリレーションシップ(関連付け)を⾏います

    EMP_ID LAST_NAME DEPT_ID 1 ⽥中 10 2 鈴⽊ 20 3 佐藤 30 EMPLOYEES表 DEPT_ID DEPT_NAME LOCATION_ID 10 営業部 1700 20 マーケティング部 1800 30 ⼈事部 2400 DEPARTMENTS表 リレーションシップ
  48. Copyright © 2023, Oracle and/or its affiliates 67 外部キーの追加 ①EMPLOYEES表を開く→

    制約→外部キーの追加をクリック ②こちらのように記載 します PDB(TEST1ユーザー)
  49. Copyright © 2023, Oracle and/or its affiliates 70 Data Pumpのエクスポート・インポートを使⽤してHRスキーマからTEST1スキーマに表の移動を⾏います

    Oracle Data Pumpの使⽤ ローカル・ストレージ ダンプ ファイル エクスポート インポート データベース・サーバー ローカル・ストレージ上に ダンプ・ファイルを配置 expdp impdp ① ③ ② 今回の作業⼿順 ①データベースに接続 ②HRスキーマから表をダンプファイルにエクスポート ③ダンプファイルからTEST1スキーマに表をインポート
  50. Oracle Data Pump • Oracle Databaseに格納されているデータおよびメタデータ をOS上のファイル(ダンプ・ファイル)に抽出(Export)し、他の Oracle Databaseに⾼速に読み込ませる(Import)ための ユーティリティ

    • 論理バックアップ Export/Importの種類 • Data Pump • Oracle Database 10g から提供 • Oracle Database サーバー側で実⾏することによるメリット • パラレル化による⾼速処理 • APIによる呼び出し可能 • ジョブ管理・状況監視が可能 • 停⽌・再開が可能 • オリジナルのExport/Import • Oracle Database 11g より原則サポートされない 参考)Oracle Data Pump Copyright © 2023, Oracle and/or its affiliates 71 Oracle Database PL/SQL Package Oracle Net Oracle Net Access Driver ダンプ・ファイル expdp impdp Export Utility Import Utility ダンプ・ファイルは サーバ側に格納 (DIRECTORY オブジェクト配下) EXPDP/IMPDP の実⾏エンジン サーバー クライアント
  51. • 今回はexpdp/impdpの実⾏にSYSTEMユーザーを 使⽤します • HRユーザーの設定と同じように、あらかじめSYSTEM ユーザーのPDB接続を済ませておきます(ロールはデ フォルト) • DBA機能も使えるよう接続をします ①Data

    Pumpの使⽤︓systemユーザーでの接続 Copyright © 2023, Oracle and/or its affiliates 72 先ほどのHRユーザーのPDB接続の情報を 使いつつ接続を作成します 変更点 接続名:任意の名前 ユーザー名︓SYSTEM パスワード︓データベース作成時に設定し たもの ロール︓デフォルト PDB(systemユーザー)
  52. Copyright © 2023, Oracle and/or its affiliates 74 ②データのエクスポート︓エクスポートウィザードの使⽤ ①データとDDLを選択、

    表を選択し次へをクリック ②スキーマをHRに変更しク リック、任意の表を選択し右 に移動させる 今回はEMPLOYEES表と DEPARTMENTS表を選択します PDB(systemユーザー)
  53. Copyright © 2023, Oracle and/or its affiliates 75 ②データのエクスポート︓エクスポートウィザードの使⽤ ①今回は特に条件を絞らな

    いのでそのまま次へをクリック ③クリック ②ロギングを有効化 ファイル名などはデフォルト PDB(systemユーザー)
  54. Copyright © 2023, Oracle and/or its affiliates 76 ②データのエクスポートエクスポートウィザードの使⽤ ①ファイルの出⼒先を

    確認 ②今回は説明簡略化のため チェックを外す ③クリック ④すべてデフォルトのままで次 へをクリック PDB(systemユーザー)
  55. Copyright © 2023, Oracle and/or its affiliates 77 ②データのエクスポート︓エクスポートウィザードの使⽤ ①クリック

    ②ログファイルを確認して、きちんとエクスポートさ れていたらOKです PDB(systemユーザー)
  56. Copyright © 2023, Oracle and/or its affiliates 78 ③データのインポート︓インポートウィザードの使⽤ ①エクスポートと同じように

    インポートを選択 ②内容に問題ないか確認 し次へをクリック PDB(systemユーザー)
  57. Copyright © 2023, Oracle and/or its affiliates 80 ソース 宛先

    HR TEST1 ③データのインポート︓インポートウィザードの使⽤ ①それぞれ再マップを⾏い ます 右表を参照 ②クリック ソースの再マップ(スキーマ) ソース 宛先 SYSAUX USERS 表領域の再マップ PDB(systemユーザー)
  58. Copyright © 2023, Oracle and/or its affiliates 81 ③データのインポート︓インポートウィザードの使⽤ ①ロギングを有効化、表の

    処理を今回は置換を選択 ③クリック 表の処理については、要件に合わせて選択いただき ますようお願いいたします ②今回はチェックを外す PDB(systemユーザー)
  59. Copyright © 2023, Oracle and/or its affiliates 85 1. SQL

    Developerについての理解 2. データベース作成後の主な設定についての理解 • CDB/PDBでの確認事項 3. データベースユーザーについての理解 • 共通ユーザーとローカルユーザーの違い 4. 表定義とデータの確認 • HRユーザーにて定義の確認 5. 表の作成⽅法についての理解 6. Data Pumpについての理解 まとめ