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

【DB19c Upgrade!】エピソード07 クールな機能

【DB19c Upgrade!】エピソード07 クールな機能

データベースをアップグレードしよう! バーチャル・クラスルーム
~ Oracle Databaseの運用をされている方が必ず知っておきたいアップグレードのベスト・プラクティス

エピソード07 クールな機能
- アップグレード後によく利用される便利な機能(データ型、セキュリティ、継続的運用を支える機能など)
https://www.youtube.com/watch?v=IQQFet_dPIo

今回はたくさんのクールな機能を紹介します。
楽しんでいただけるように、たくさんのデモを用意しました。
拡張VARDCHAR2からスタートし、データファイルとテーブルのオンライン移動。インストールとパッチを一度に済ませる方法、Unplug Plug Upgrade。長い識別子、開発者はみんなこれが好きです。式に基づくパラメータ、これは21cでは本当に素晴らしいものです。SQLパッチはとても強力です。それからKeystore Password External Store。オンライン暗号化、パスワードの段階的なロールオーバー。Privilege Captureは12.2.0.1からEnterprise Edition部分となり、データを不要なアクセスから守ります。
セッションの後に、お試しください。

3115a782126be714b5f94d24073c957d?s=128

oracle4engineer
PRO

May 10, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. クールな機能 Not only for DBAs Photo by Jason Blackeye on

    Unsplash スペシャル ゲスト: Virtual Classroom Series No.7
  2. Distinguished Product Manager Database Upgrade and Migrations Mike Dietrich https://MikeDietrichDE.com

    @MikeDietrichDE mikedietrich Copyright © 2021, Oracle and/or its affiliates 2
  3. Senior Principal Product Manager Cloud Migration Daniel Overby Hansen https://dohdatabase.com

    @dohdatabase dohdatabase Copyright © 2021, Oracle and/or its affiliates 3
  4. Slides | https://MikeDietrichDE.com Copyright © 2021, Oracle and/or its affiliates

    4
  5. Cloud | https://dohdatabase.com/ 5

  6. Copyright © 2021, Oracle and/or its affiliates 6 拡張データ型 VARCHAR2

    オンライン データファイル移動 インストールと同時の パッチ適用 オンラインの 表移動 アンプラグ・プラグ アップグレード 長い識別子 パラメータ値の 式の使用 Oracle REST Data Services Data Guard フリー・オプション SQLパッチ キーストア・パスワード 外部ストア オンラインでの暗号化 パスワードの 段階的ロールオーバー 権限分析 安全性の高い 外部パスワード・ストア
  7. 拡張データ型 VARCHAR2 Copyright © 2021, Oracle and/or its affiliates 7

  8. Copyright © 2021, Oracle and/or its affiliates 拡張VARCHAR2 | 概要

    Oracle 12.1以降で使用可能 COMPATIBLE= 12.1.0以上が必要 明示的に有効にする必要があります VARCHAR2列とNVARCHAR2列は、最大32kバイトに収めることができます • 4000バイトを超える長さを許可 • 不可逆 パラメータ: • MAX_STRING_SIZE=EXTENDED • PDBレベルで使用できます NEW IN 12.1 8
  9. Copyright © 2021, Oracle and/or its affiliates 拡張VARCHAR2 | 方法

    NEW IN 12.1 Step By Step: SHUTDOWN IMMEDIATE STARTUP UPGRADE @?/rdbms/admin/utl32k.sql SHUTDOWN IMMEDIATE STARTUP ALTER SYSTEM set MAX_STRING_SIZE=EXTENDED scope=SPFILE; CREATE TABLE applicants (id NUMBER GENERATED AS IDENTITY, first_name VARCHAR2(30), last_name VARCHAR2(30), application DATE, cv VARCHAR2(32767) ); 9
  10. Copyright © 2021, Oracle and/or its affiliates 拡張VARCHAR2 | 注意事項

    NEW IN 12.1 注意! • 新しい表の場合: • 最大3964バイトが通常のVARCHAR2に格納されます • この制限を超えると、データはインラインSecureFile LOBに格納されます • 参照 : http://www.ludovicocaldara.net/dba/extended-data-types-storage/ • _scalar_type_lob_storage_threshold=4000(デフォルト) • 既存の表の場合: • 行連鎖 • 回避方法: DBMS_REDEFINITIONまたはオンライン表の移動 10
  11. Copyright © 2021, Oracle and/or its affiliates 拡張VARCHAR2 |注意事項 NEW

    IN 12.1 パフォーマンス • 拡張VARCHAR2によりラウンドトリップを節約できます • 参照 : https://blog.dbi-services.com/12c-extended-datatypes-better-than-clob/ SELECT * FROM TEST_CLOB_COLUMN; Statistics ---------------------------------------------- 5 recursive calls 0 db block gets 136 consistent gets 80 physical reads 0 redo size 16310 bytes sent via SQL*Net to client 11890 bytes received via SQL*Net from client 52 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 10 rows processed SELECT * FROM TEST_VARCHAR2_9000; Statistics ---------------------------------------------- 4 recursive calls 0 db block gets 28 consistent gets 0 physical reads 0 redo size 90721 bytes sent via SQL*Net to client 380 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 10 rows processed 11
  12. Copyright © 2021, Oracle and/or its affiliates Extended VARCHAR2 |注意事項

    NEW IN 12.1 潜在的な落とし穴 • COMPATIBLE < 19.0.0 • SecureFile LOBにはエクステントに16ブロック以上のブロックが必要です • COMPATIBLE ≥ 19.0.0 • SecureFile LOBには、エクステントに32以上のブロックが必要です 例: • DB_BLOCK_SIZE: 16K • 表領域のエクステント・サイズ: 128k 1つのエクステントには8ブロックのみが含まれている SecureFile LOBは作成できません 12
  13. オンライン データファイル移動 Copyright © 2021, Oracle and/or its affiliates 13

  14. 名前変更: ASMに再配置: オンライン・データファイルの移動 | 概要 プロ・チップ: SYSTEM、UNDOおよび SYSAUXでも機能します。 NEW IN

    12.1 SQL> ALTER DATABASE MOVE DATAFILE '/u01/oracle/rbdb1/user1.dbf' TO '/u01/oracle/rbdb1/user01.dbf'; SQL> ALTER DATABASE MOVE DATAFILE '/u01/oracle/rbdb1/user1.dbf' TO '+DATA'; Copyright © 2021, Oracle and/or its affiliates 14
  15. OMF名の生成: オンライン・データファイルの移動 | 概要 SQL> ALTER DATABASE MOVE DATAFILE 12;

    NEW IN 12.1 プロ・チップ: 12.1および12.2では、Bug# 24836489を確認: DATAFILES ARE CREATED WRONG LOCATION IN OMF DEFINED PDB DATABASE 現在のコンテナに属するデータ・ファイルに対してのみ機能 ドキュメンテーション: 概念および文法 Copyright © 2021, Oracle and/or its affiliates 15
  16. オンライン・データファイルの移動 | デモ Copyright © 2021, Oracle and/or its affiliates

    17
  17. インストールと パッチ適用 Copyright © 2021, Oracle and/or its affiliates 18

  18. OUI | インストールとパッチ適用を同時に行う Oracle 18c以降、インストールとパッチ適用を同時に行うことが出来ます • GIホーム用 NEW IN 18c

    $ mkdir /u01/app/grid/1990 $ cd /u01/app/grid/1990 $ unzip LINUX.X64_193000_grid_home.zip $ unzip p31750108_19000_Linux_x86-64.zip $ ./gridSetup -applyRU 31750108 Copyright © 2021, Oracle and/or its affiliates 19
  19. OUI | インストールとパッチ適用を同時に行う Oracle 18c以降、インストールとパッチ適用を同時に行うことが出来ます • DBホームの場合 NEW IN 18c

    $ mkdir /u01/app/oracle/product/1990 $ cd /u01/app/oracle/product/1990 $ unzip LINUX.X64_193000_db_home.zip $ unzip -d p31771877_190000_Linux-x86-64.zip /u01/app/oracle/product/1990/patch $ ./runInstaller -applyRU patch/31771877 Copyright © 2021, Oracle and/or its affiliates 20
  20. OUI | インストールとパッチ適用を同時に行う また、複数の個別パッチの適用 • DBホームの場合 • 複数のパッチでサブディレクトリを分ける必要があります。そうしないと、パッチxmlファイルが上書きされ、パッチは検出されません • 残念ながら、この機能はMS

    Windowsでまだ実装されていません NEW IN 18c $ ./runInstaller -applyRU patch/30899722 -applyOneOffs x/30805684,y/30524762 Copyright © 2021, Oracle and/or its affiliates 21
  21. シンプルで簡単なクローニングとプロビジョニング 構成ファイルやログ・ファイルを $OH 外に保存 ドキュメント: • https://docs.oracle.com/en/database/oracle/oracle- database/19/ladbi/configuring-read-only-oracle- homes.html#GUID-906DA159-AC83-4ACC-A8A6- 5B4A39EB72E1

    読取り専用Oracle Homes | 概要 Copyright © 2021, Oracle and/or its affiliates NEW IN 18c 22
  22. 設定 1. 通常どおりインストール 2.$ORACLE_HOME/bin/roohctl -enable ドキュメント: • https://docs.oracle.com/en/database/oracle/oracle- database/19/ladbi/configuring-read-only-oracle- homes.html#GUID-906DA159-AC83-4ACC-A8A6-

    5B4A39EB72E1 読取り専用Oracle Homes | 構成 Copyright © 2021, Oracle and/or its affiliates [oracle@hol ~]$ cd /u01/app/oracle/product/ROOH19/ [oracle@hol ROOH19]$ cd bin [oracle@hol bin]$ ./roohctl –enable Enabling Read-Only Oracle home. Update orabasetab file to enable Read-Only Oracle home. Orabasetab file has been updated successfully. Create bootstrap directories for Read-Only Oracle home. Bootstrap directories have been created successfully. Bootstrap files have been processed successfully. Read-Only Oracle home has been enabled successfully. Check the log file /u01/app/oracle/cfgtoollogs/roohctl/roohctl- 201124PM045139.log for more details. 23
  23. 読取り専用Oracle Homes | デモ Copyright © 2021, Oracle and/or its

    affiliates 24
  24. 重要なディレクトリ 読取り専用Oracle Homes | ディレクトリ Copyright © 2021, Oracle and/or

    its affiliates cd $(orabaseconfig) /u01/app/oracle cd $(orabasehome) /u01/app/oracle/homes/OraDB19Home2 25
  25. $ tree -a $(orabaseconfig)/dbs /u01/app/oracle/dbs ├── hc_ROOH19.dat ├── initROOH19.ora ├──

    lkROOH19 ├── orapwROOH19 └── spfileROOH19.ora 読取り専用Oracle Homes | ディレクトリ構造 $ tree -a -d $(orabasehome) /u01/app/oracle/homes/OraDB19Home2 ├── assistants │ └── dbca │ └── templates ├── dbs ├── install ├── network │ ├── admin │ ├── log │ └── trace └── rdbms ├── audit └── log └── opatch └── lsinv^ Copyright © 2021, Oracle and/or its affiliates 26
  26. オンライン 表移動 Copyright © 2021, Oracle and/or its affiliates 27

  27. 表の移動: パラレル: オンライン表移動 | 概要 プロ・チップ: 操作の最後に短いロックが必要です NEW IN 12.2

    SQL> alter table lots_of_data move online tablespace users; SQL> alter table lots_of_data move online tablespace users parallel 4; Copyright © 2021, Oracle and/or its affiliates 28
  28. 圧縮: 圧縮解除: ドキュメンテーション: 文法 オンライン表移動 | 概要 プロ・チップ: パーティション表の個々のパーティショ ンを移動することもできます

    NEW IN 12.2 SQL> alter table lots_of_data move online tablespace users row store compress advanced; SQL> alter table lots_of_data move online tablespace users nocompress; Copyright © 2021, Oracle and/or its affiliates 31
  29. 注意: • 移動により統計は無効に • ROWIDの変化 オンライン表移動 | 概要 NEW IN

    12.2 Copyright © 2021, Oracle and/or its affiliates 32
  30. オンライン表移動 | デモ Copyright © 2021, Oracle and/or its affiliates

    33
  31. 変換: ドキュメンテーション: 文法およびパーティションのオプション パーティション表へのオンライン変換 | 概要 プロ・チップ: ハッシュ・パーティションの数は、常に2の累乗に してください NEW

    IN 12.2 SQL> alter table lots_of_data modify partition by hash (object_id) partitions 8 online update indexes (i_lots_of_data global); Copyright © 2021, Oracle and/or its affiliates 34
  32. パーティション表へのオンライン変換 | デモ Copyright © 2021, Oracle and/or its affiliates

    35
  33. AutoUpgrade アンプラグ&プラグ アンプラグ&プラグ・アップグレードをマスターします Copyright © 2021, Oracle and/or its affiliates

    36
  34. アンプラグ&プラグPDBアップグレード 37 Copyright © 2021, Oracle and/or its affiliates

  35. AutoUpgrde は何をしてくれるのですか? Copyright © 2021, Oracle and/or its affiliates 38

  36. ファイルのコピー・オプションを指定します Copyright © 2021, Oracle and/or its affiliates 40

  37. 複数のアンプラグを同時に実行 Copyright © 2021, Oracle and/or its affiliates 41

  38. アンプラグ&プラグ構成オプション 10分でゼロからヒーローに Copyright © 2021, Oracle and/or its affiliates 42

  39. 43 AutoUpgrade アンプラグ&プラグConfigファイル

  40. 45 AutoUpgrade アンプラグ&プラグConfigファイル

  41. 46 AutoUpgrade アンプラグ&プラグConfigファイル

  42. 47 AutoUpgrade アンプラグ&プラグConfigファイル

  43. 48 AutoUpgrade アンプラグ&プラグConfigファイル

  44. 49 AutoUpgrade アンプラグ&プラグConfigファイル

  45. 50 AutoUpgrade アンプラグ&プラグConfigファイル

  46. 51 Copyright © 2021, Oracle and/or its affiliates AutoUpgrade アンプラグ&プラグ・デフォルト・オプション

    • 同じPDB名を維持します。 • 既存のデータファイルを再使用します。
  47. 52 Copyright © 2021, Oracle and/or its affiliates AutoUpgrade アンプラグ&プラグ・フラッシュ・コースが

    完了しました。
  48. 54 Copyright © 2021, Oracle and/or its affiliates アンプラグ&プラグ・デプロイメントの実行

  49. 55 Copyright © 2021, Oracle and/or its affiliates アンプラグ&プラグ・デプロイメントの実行

  50. 56 Copyright © 2021, Oracle and/or its affiliates アンプラグ&プラグ・デプロイメントの実行

  51. 58 Copyright © 2021, Oracle and/or its affiliates アンプラグ&プラグ・デプロイメントの実行

  52. OSのサポートとRACについては? Copyright © 2021, Oracle and/or its affiliates 59

  53. 60 Copyright © 2021, Oracle and/or its affiliates AutoUpgradeのアンプラグ&プラグは、12.1.0.1より上位のCDBバージョンで動作します AutoUpgradeのアンプラグ&プラグは、Linux上のRACシステムで動作します

  54. None
  55. 長い識別子 (Long Identifiers) Copyright © 2021, Oracle and/or its affiliates

    62
  56. Copyright © 2021, Oracle and/or its affiliates 63 開発者に伝えるときは注意してください...🤩

  57. Copyright © 2021, Oracle and/or its affiliates 長い識別子 | 概要

    Oracle 12.2.0.1以降標準 COMPATIBLE= 12.2.0以上の場合はオフにできません すべてを128バイトまでの長さで命名できます 例外: • 8バイト以下: • データベース名 • 30バイト以下 • 表領域 • ディスク・グループ • PDB • ロールバック・セグメント 64
  58. Copyright © 2021, Oracle and/or its affiliates 65 create table

    MY_NEW_TABLE_GETS_NOW_AN_EXTRA_LONG_NAME_BECAUSE_I_CAN ( BUT_THIS_WORKS_WITH_COLUMNS_FOR_SURE_TOO varchar2(16000), AND_BELIEVE_ME_THIS_FEATURE_WILL_BE_USED_ASAP number(3) ) ;
  59. Copyright © 2021, Oracle and/or its affiliates 長い識別子 | 落とし穴

    オフにすることはできません。 下位バージョン・データベースへのデータの交換は問題になる場合があります • データ・ポンプ • バージョン付き/バージョンなし • https://mikedietrichde.com/2018/07/09/export-with-data-pump-and-long-identifiers/ • データベース・リンク 接続先: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production 警告: Oracle Data Pumpは、長い識別子をサポートするデータベースから、長い識別子をサポートしないバージョンにエク スポートしています。 ORA-39373: cannot export TABLE_DATA:"SYSTEM"."T123456789012345678901234567890" to version 12.1 due to long identifiers 66
  60. パラメータ値の 式の使用 Copyright © 2021, Oracle and/or its affiliates 67

  61. 数値操作: その他のパラメータ: 組合せ: パラメータ値の式の使用 | 概要 NEW IN 21 SQL>

    alter system set cpu_count='8/2' scope=both; SQL> alter system set sga_target=sga_max_size scope=both; SQL> alter system set shared_pool_size='sga_target*0.2' scope=both; Copyright © 2021, Oracle and/or its affiliates 68
  62. Min/max - およびオーバーライド演算子の優先順位: 環境変数: ドキュメンテーション: 文法 パラメータ値の式の使用 | 概要 NEW

    IN 21 プロ・チップ: ALTER SESSIONコマンドにも適 用されます SQL> alter system set shared_pool_size='max(8000M, (sga_target-5000M)*0.2)'; SQL> alter system set cpu_count='$NUMBER_OF_PROCESSORS/2'; Copyright © 2021, Oracle and/or its affiliates 69
  63. PFile: ドキュメンテーション: 文法 パラメータ値の式の使用 | 概要 *.cpu_count=(${NUMBER_OF_PROCESSORS} / 2) *.aq_tm_processes=MIN(40,

    PROCESSES*0.1) *.job_queue_processes=processes NEW IN 21 Copyright © 2021, Oracle and/or its affiliates 70
  64. パラメータ値の式の使用 | デモ Copyright © 2021, Oracle and/or its affiliates

    71
  65. Copyright © 2021, Oracle and/or its affiliates 72 拡張データ型 VARCHAR2

    オンライン データファイル移動 インストールと同時の パッチ適用 オンラインの 表移動 アンプラグ・プラグ アップグレード 長い識別子 パラメータ値の 式の使用 Oracle REST Data Services
  66. Data Guard Copyright © 2021, Oracle and/or its affiliates 73

  67. • リストア・ポイントは、プライマリ・データベースからスタンバイ・データベースに自動的にレプリケートされます • プライマリ・データベースがフラッシュバックされたとき - スタンバイ・データベースは自動的に追従します • スタンバイでのDMLはプライマリ・データベースにリダイレクトされる(Active Data Guard)

    ドキュメンテーション: リストア・ポイント・レプリケーションと自動フラッシュバックおよびDMLリダイレクト Data Guard | 概要 Copyright © 2021, Oracle and/or its affiliates 74 19の新機 能
  68. Data Guard | デモ Copyright © 2021, Oracle and/or its

    affiliates 75
  69. SQLパッチ Copyright © 2021, Oracle and/or its affiliates 76

  70. Copyright © 2021, Oracle and/or its affiliates 77 select *

    from I_AM_SLOW;
  71. 78 Copyright © 2021, Oracle and/or its affiliates SQLパッチ|概要 SQL文の修復

    • ヒントの追加 • アプリケーションから透過的 • 永続的 • Oracle 11gで導入 • Oracle 11gおよび12.1: DBMS_SQLDIAG_INTERNAL • Oracle 12.2以上: DBMS_SQLDIAG • EEおよびSE2で使用可能 • ドキュメンテーション : https://docs.oracle.com/en/database/oracle/oracle- database/19/arpls/DBMS_SQLDIAG.html#GUID-0F29CD05-6BF3-4EEB-90F5-E2465865C255 • 便利なスクリプト(例) create_sql_patch.sql: http://kerryosborne.oracle-guy.com/2013/06/06/sql-gone-bad-but-plan-not-changed/
  72. Oracle 11.2および12.1 • DBMS_SQLDIAG_INTERNAL (undocumented) Oracle 12.2以上 • DBMS_SQLDIAG SQLパッチ|バージョン差異

    Copyright © 2021, Oracle and/or its affiliates 79 BEGIN SYS.DBMS_SQLDIAG_INTERNAL.i_create_patch( sql_text => 'select * big_table', hint_text => 'PARALLEL(big_table,10)', name => 'big_table_sql_patch'); END; / DECLARE l_patch_name VARCHAR2(4000); BEGIN l_patch_name := SYS.DBMS_SQLDIAG.create_sql_patch( sql_text => 'select * from big_table', hint_text => 'PARALLEL(big_table,10)', name => 'big_table_sql_patch'); END; /
  73. SQLパッチ|デモ Copyright © 2021, Oracle and/or its affiliates 80

  74. キーストア・ パスワード 外部ストア Copyright © 2021, Oracle and/or its affiliates

    81
  75. パスワードを平文で入力するかわりに: 外部ストアから入手: キーストア・パスワード外部ストア | 概要 Copyright © 2021, Oracle and/or

    its affiliates 82 NEW IN 12.2 SQL> administer key management ... keystore identified by "S3cr3tP@@sw0rd"; SQL> --or SQL> create pluggable database ... keystore identified by "S3cr3tP@@sw0rd"; SQL> administer key management ... keystore identified by external store; SQL> --or SQL> create pluggable database ... keystore identified by external store;
  76. セキュリティが非常に高いソリューション: • 職務分掌をサポート • スクリプト内のハードコードされたキーストアのパスワードを回避 • 端末で平文でキーストアのパスワードを入力しないでください ドキュメンテーション: コンセプト キーストア・パスワード外部ストア

    | 概要 Copyright © 2021, Oracle and/or its affiliates 83 NEW IN 12.2 プロ・チップ:ブログ投稿から詳細を取得 TDEキーストア・パスワードのハー ド・コーディングを停止する方法
  77. キーストア・パスワード外部ストア | デモ Copyright © 2021, Oracle and/or its affiliates

    84
  78. オンラインでの 暗号化 Copyright © 2021, Oracle and/or its affiliates 85

  79. 86 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|概要 既存のデータベース表領域ファイルのオンライン暗号化

    • alter tablespace <tbs> encryption online encrypt; • ストレージのオーバーヘッド: tbsの2倍の最大ファイル SYSTEM、SYSAUXおよびUNDO表領域のすべての暗号化 • 非推奨 オフライン表領域暗号化 • ストレージのオーバーヘッドなし RMAN復号化されたリストア(18c) セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16
  80. 87 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 1.ウォレット・ルートの準備 $ mkdir -p ${ORACLE_BASE}/admin/${ORACLE_SID}/wallet/tde alter system set WALLET_ROOT="${ORACLE_BASE}/admin/${ORACLE_SID}/wallet" scope=spfile; shutdown startup alter system set TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";
  81. 88 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 2.パスワード保護キーストアの作成 $ ls -lrt /u01/app/oracle/admin/CDB2/wallet/tde/ -rw-------.1 oracle dba 2555 Jan 11 23:26 ewallet.p12 administer key management create keystore '${ORACLE_BASE}/admin/${ORACLE_SID}/wallet/tde' identified by S3cr3t; select WRL_TYPE, WRL_PARAMETER, STATUS, CON_ID from v$encryption_wallet; WRL_TYPE WRL_PARAMETER STATUS CON_ID --------- ---------------------------------------- -------- -------- FILE /u01/app/oracle/admin/CDB2/wallet/tde/ CLOSED 1 FILE CLOSED 2 FILE CLOSED 3
  82. 89 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 3.キーストアのオープン alter pluggable database all open; administer key management set keystore open force keystore identified by S3cr3t container=all; select WRL_TYPE, WRL_PARAMETER, STATUS, CON_ID from v$encryption_wallet; WRL_TYPE WRL_PARAMETER STATUS CON_ID --------- ---------------------------------------- ------------------- -------- FILE /u01/app/oracle/admin/CDB2/wallet/tde/ OPEN_NO_MASTER_KEY 1 FILE OPEN_NO_MASTER_KEY 2 FILE OPEN_NO_MASTER_KEY 3
  83. 90 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 4a.マスター・キーCDB$ROOTの作成 administer key management set key identified by S3cr3t with backup; select WRL_TYPE, WRL_PARAMETER, STATUS, CON_ID from v$encryption_wallet; WRL_TYPE WRL_PARAMETER STATUS CON_ID --------- ---------------------------------------- ------------------- -------- FILE /u01/app/oracle/admin/CDB2/wallet/tde/ OPEN 1 FILE OPEN 2 FILE OPEN_NO_MASTER_KEY 3
  84. 91 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 4b.マスター・キーPDBの作成 alter session set container=PDB1; administer key management set key identified by S3cr3t with backup; select WRL_TYPE, WRL_PARAMETER, STATUS, CON_ID from v$encryption_wallet; WRL_TYPE WRL_PARAMETER STATUS CON_ID --------- ---------------------------------------- ------------------- -------- FILE OPEN 3
  85. 92 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 5.自動ログイン・キーストア $ ls -lrt /u01/app/oracle/admin/CDB2/wallet/tde/ -rw-------.1 oracle dba 2555 Jan 11 23:33 ewallet_2021011122331565.p12 -rw-------.1 oracle dba 3995 Jan 11 23:34 ewallet_2021011122340875.p12 -rw-------.1 oracle dba 5467 Jan 11 23:34 ewallet.p12 -rw-------.1 oracle dba 5512 Jan 11 23:35 cwallet.sso administer key management create auto_login keystore from keystore '${ORACLE_BASE}/admin/${ORACLE_SID}/wallet/tde' identified by S3cr3t;
  86. 93 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 6.オンラインで表領域の暗号化 alter session set container=PDB1; alter tablespace TEST encryption online encrypt; select TABLESPACE_NAME, STATUS, ENCRYPTED from DBA_TABLESPACES; TABLESPACE_NAME STATUS ENC --------------------- --------- --- SYSTEM ONLINE NO SYSAUX ONLINE NO UNDOTBS1 ONLINE NO TEMP ONLINE NO TEST ONLINE YES
  87. 94 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|Step By

    Step セールス TABLESPACE HCM TABLESPACE HCM TABLESPACE DF11233U*1 $5Ha1qui%H1 HSKQ112A14 FASqw34£$1 DF@£!1ahHH! DA45S& DD1 Acme 10 1/2/16 Acme 3 1/3/16 Acme 5 1/5/16 Acme 12 1/7/16 Acme 4 1/8/16 Acme 2 1/9/16 7.新規表領域の暗号化 alter system set ENCRYPT_NEW_TABLESPACES=ALWAYS scope=both; create tablespace FUTURE datafile '/u02/oradata/CDB2/pdb1/future01.dbf' size 100M autoextend on online; select TABLESPACE_NAME, STATUS, ENCRYPTED from DBA_TABLESPACES; TABLESPACE_NAME STATUS ENC --------------------- --------- --- SYSTEM ONLINE NO SYSAUX ONLINE NO UNDOTBS1 ONLINE NO TEMP ONLINE NO TEST ONLINE YES FUTURE ONLINE YES
  88. 97 Copyright © 2021, Oracle and/or its affiliates オンライン暗号化|デモ NEW

    IN 18c
  89. パスワードの 段階的 ロールオーバー Copyright © 2021, Oracle and/or its affiliates

    98
  90. • ユーザーが限られた時間内に2つのパスワードを持つことを許可 • 最小1時間(1/24)、最大60日 ドキュメンテーション パスワードの段階的ロールオーバー | 概要 Copyright ©

    2021, Oracle and/or its affiliates 99 NEW IN 21 SQL> CREATE PROFILE app_profile LIMIT PASSWORD_ROLLOVER_TIME 1; SQL> CREATE USER app_user ... PROFILE app_profile;
  91. • 古いパスワードを使用しているのはどのユーザーですか。 • authentication_typeは、使用するパスワードを示します: パスワードの段階的ロールオーバー | 概要 Copyright © 2021,

    Oracle and/or its affiliates 100 NEW IN 21 SQL> select authentication_type from unified_audit_trail where action_name='LOGON' and dbusername='APP_USER'; (TYPE=(DATABASE));(CLIENT ADDRESS=((PROTOCOL=tcp)(HOST=10.0.1.225)(PORT=24974))); (LOGON_INFO=((VERIFIER=12C-NEW)(CLIENT_CAPABILITIES=O5L_NP,O7L_MR,O8L_LI))); (TYPE=(DATABASE));(CLIENT ADDRESS=((PROTOCOL=tcp)(HOST=10.0.1.225)(PORT=24983))); (LOGON_INFO=((VERIFIER=12C-OLD)(CLIENT_CAPABILITIES=O5L_NP,O7L_MR,O8L_LI)));
  92. パスワードの段階的ロールオーバー | デモ Copyright © 2021, Oracle and/or its affiliates

    101 NEW IN 21
  93. 権限分析 (Privilege Capture) Copyright © 2021, Oracle and/or its affiliates

    102
  94. Copyright © 2021, Oracle and/or its affiliates 103 grant DBA

    to APP_USER with admin option;
  95. 104 Copyright © 2021, Oracle and/or its affiliates 権限分析|概要 「最小権限」の概念の実装

    • 使用された権限と付与パスのレポート • 未使用権限の報告 • https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/performing-privilege-analysis-find-privilege- use.html#GUID-44CB644B-7B59-4B3B-B375-9F9B96F60186
  96. 105 Copyright © 2021, Oracle and/or its affiliates 権限分析|ライセンス Enterprise

    Editionの一部 • Oracle 18cで「requires「Database Vault」option」から「included in EE」に変更 • Oracle 12.2.0.1以降に適用されます Oracle 12.1.0.2 Oracle 12.2.0.1 Oracle 18c Oracle 19c
  97. DBMS_PRIVILEGE_CAPTURE CREATE_CAPTURE • 権限取得分析ポリシーの作成 ENABLE_CAPTURE • 分析ポリシーの有効化 指定した期間だけ実行 DISABLE_CAPTURE •

    権限分析の実行を停止 GENERATE_RESULT • 分析結果を使用したディクショナリ・ビューの移入 DROP_CAPTURE / DELETE_RUN • 不要になった場合は削除 • または、この実行の結果のみを削除 権限分析|取得ポリシーの作成 Copyright © 2021, Oracle and/or its affiliates 106 BEGIN DBMS_PRIVILEGE_CAPTURE.CREATE_CAPTURE( name => 'tuning_privs', description => 'analyze tuning privs', type => DBMS_PRIVILEGE_CAPTURE. G_CONTEXT, condition => 'SYS_CONTEXT(''USERENV'', ''SESSION_USER'')=''SMITH'''); END; /
  98. DBMS_PRIVILEGE_CAPTURE CREATE_CAPTURE • 権限取得分析ポリシーの作成 ENABLE_CAPTURE • 分析ポリシーの有効化 指定した期間だけ実行 DISABLE_CAPTURE •

    権限分析の実行を停止 GENERATE_RESULT • 分析結果を使用したディクショナリ・ビューの移入 DROP_CAPTURE / DELETE_RUN • 不要になった場合は削除 • または、この実行の結果のみを削除 BEGIN DBMS_PRIVILEGE_CAPTURE.ENABLE_CAPTURE ('tuning_privs'); END; / 権限分析|取得の開始 Copyright © 2021, Oracle and/or its affiliates 107
  99. DBMS_PRIVILEGE_CAPTURE CREATE_CAPTURE • 権限取得分析ポリシーの作成 ENABLE_CAPTURE • 分析ポリシーの有効化 指定した期間だけ実行 DISABLE_CAPTURE •

    権限分析の実行を停止 GENERATE_RESULT • 分析結果を使用したディクショナリ・ビューの移入 DROP_CAPTURE / DELETE_RUN • 不要になった場合は削除 • または、この実行の結果のみを削除 BEGIN DBMS_PRIVILEGE_CAPTURE.DISABLE_CAPTURE ('tuning_privs'); END; / 権限分析|取得の停止 Copyright © 2021, Oracle and/or its affiliates 108
  100. DBMS_PRIVILEGE_CAPTURE CREATE_CAPTURE • 権限取得分析ポリシーの作成 ENABLE_CAPTURE • 分析ポリシーの有効化 指定した期間だけ実行 DISABLE_CAPTURE •

    権限分析の実行を停止 GENERATE_RESULT • 分析結果を使用したディクショナリ・ビューの移入 DROP_CAPTURE / DELETE_RUN • 不要になった場合は削除 • または、この実行の結果のみを削除 BEGIN DBMS_PRIVILEGE_CAPTURE.GENERATE_RESULT ('tuning_privs'); END; / 権限分析|ビューの移入 Copyright © 2021, Oracle and/or its affiliates 109
  101. 110 Copyright © 2021, Oracle and/or its affiliates 権限分析|使用済システム権限 DBMS_PRIVILEGE_CAPTURE.GENERATE_RESULT

    ユーザー"SMITH"が使用するシステム権限およびロール SELECT USERNAME, SYS_PRIV, USED_ROLE, PATH FROM DBA_USED_SYSPRIVS_PATH WHERE USERNAME = 'SMITH' ORDER BY 1, 2, 3; USERNAME SYS_PRIV USED_ROLE PATH -------- -------------- -------------------- -------------------------------------------------------- SMITH ANALYZE ANY IMP_FULL_DATABASE GRANT_PATH('SMITH', 'DBA') SMITH ANALYZE ANY IMP_FULL_DATABASE GRANT_PATH('SMITH', 'DBA', 'IMP_FULL_DATABASE') SMITH ANALYZE ANY IMP_FULL_DATABASE GRANT_PATH('SMITH', 'DBA', 'DATAPUMP_IMP_FULL_DATABASE', 'IMP_FULL_DATABASE') ...
  102. 111 Copyright © 2021, Oracle and/or its affiliates 権限分析|未使用のシステム権限 DBMS_PRIVILEGE_CAPTURE.GENERATE_RESULT

    ユーザー「SMITH」で未使用のシステム権限 SELECT USERNAME, SYS_PRIV FROM DBA_UNUSED_SYSPRIVS WHERE USERNAME = 'SMITH' ORDER BY 1, 2; USERNAME SYS_PRIV -------- ------------------------------ SMITH ADMINISTER ANY SQL TUNING SET SMITH ADMINISTER DATABASE TRIGGER SMITH ADMINISTER RESOURCE MANAGER SMITH ADMINISTER SQL TUNING SET SMITH ALTER ANY ASSEMBLY SMITH ON COMMIT REFRESH ...
  103. DBMS_PRIVILEGE_CAPTURE CREATE_CAPTURE • 権限取得分析ポリシーの作成 ENABLE_CAPTURE • 分析ポリシーの有効化 指定した期間だけ実行 DISABLE_CAPTURE •

    権限分析の実行を停止 GENERATE_RESULT • 分析結果を使用したディクショナリ・ビューの移入 DROP_CAPTURE / DELETE_RUN • 不要になった場合は削除 • または、この実行の結果のみを削除 権限分析|ビューのパージ Copyright © 2021, Oracle and/or its affiliates 112 BEGIN DBMS_PRIVILEGE_CAPTURE.DELETE_RUN ('tuning_privs'); END; / BEGIN DBMS_PRIVILEGE_CAPTURE.DROP_CAPTURE ('tuning_privs'); END; /
  104. 113 Copyright © 2021, Oracle and/or its affiliates 権限分析|知っておくべきこと CAPTURE_ADMINロールが必要です

    マルチテナントのみ分析(コンテナ当たり) 一度にアクティブにできる取得ポリシーは1つのみです アプリケーションの完全なテストが必要 • ほとんど使用されない権限を取り消すリスク 取得実行またはポリシーが削除されるまで、結果は保持されます
  105. 安全性の高い 外部パスワード・ストア Copyright © 2021, Oracle and/or its affiliates 114

  106. ユーザー名とパスワードを平文で入力するかわりに: 外部ストアから入手: 安全性の高い外部パスワード・ストア | 概要 Copyright © 2021, Oracle and/or

    its affiliates 115 sqlplus /@DB19 sqlplus batch/S3cr3tP##sw00rd@DB19
  107. 特性: • TNS別名はどの資格証明が使用されているかを制御 • SQLNet.oraは、キーストアのロケーションを示します • キーストアは、ファイル・システムにある暗号化されたファイルです 安全性の高い外部パスワード・ストア| 概要 Copyright

    © 2021, Oracle and/or its affiliates 116 WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /home/oracle/tns) ) ) プロ・チップ: SQLNET.WALLET_OVERRIDE = TRUEを使用して、 他の外部認証メソッドが使用されないようにします mkstore -wrl $ORACLE_WALLET_LOC -createCredential DB19 batch S3cr3tP##sw00rd
  108. セキュリティが非常に高いソリューション: • 職務分掌をサポート • スクリプト内のハードコードされたパスワードを回避 • 端末で平文でパスワードを入力しないでください ドキュメンテーション: コンセプト 安全性の高い外部パスワード・ストア|

    概要 Copyright © 2021, Oracle and/or its affiliates 117
  109. 安全性の高い外部パスワード・ストア| デモ Copyright © 2021, Oracle and/or its affiliates 118

  110. Copyright © 2021, Oracle and/or its affiliates 119 拡張データ型 VARCHAR2

    オンライン データファイル移動 インストールと同時の パッチ適用 オンラインの 表移動 アンプラグ・プラグ アップグレード 長い識別子 パラメータ値の 式の使用 Oracle REST Data Services Data Guard フリー・オプション SQLパッチ キーストア・パスワード 外部ストア オンラインでの暗号化 パスワードの 段階的ロールオーバー 権限分析 安全性の高い 外部パスワード・ストア
  111. https://MikeDietrichDE.com Copyright © 2021, Oracle and/or its affiliates 120 https://DOHdatabase.com

  112. 次のセミナー https://MikeDietrichDE.com/events Thursday, Feb 10, 2021 – 10:00h CET データベース・アップグレード内部

    - そ の他多数... Copyright © 2021, Oracle and/or its affiliates 121 UnsplashのJonathan Velasquezによるフォト
  113. YouTube | Oracle Databaseアップグレードおよび移行 Copyright © 2021, Oracle and/or its

    affiliates 122 YouTubeチャネル https://www.youtube.com/ c/OracleDatabaseUpgrades andMigrations
  114. HOL | https://MikeDietrichDE.com Copyright © 2021, Oracle and/or its affiliates

    123
  115. ありがとうございます! Copyright © 2021, Oracle and/or its affiliates 124