| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Oracle Database19c

提供: MyMemoWiki
2022年1月19日 (水) 13:10時点におけるPiroto (トーク | 投稿記録)による版 (→‎PDBへ接続)
ナビゲーションに移動 検索に移動

| Oracle | Oracle Database10g | SQL Plus |

Oracle Database19c

Oracle Database 19c

インストール

  • Oracle Database 18c以降、Oracle Databaseソフトウェアのインストールおよび構成は、イメージ・ベースのインストールによって簡略化
  • ダウンロード

Windows


解凍したイメージのディレクトリにPATHが通されれて利用されるため、適切な場所に解凍する

Oracle inst001.png

Oracle inst002.png

Oracle inst003.png

Oracle inst004.png

Oracle inst005.png

Oracle inst006.png

  • 終了EM ExpressのURLが表示される

Oracle inst007.png

管理

2日でデータベース管理者

SQL Plus


管理者接続


  • CDBにローカル接続(OS認証)
> sqlpuls / as sysdba
  • CDBにローカル接続(パスワード認証)
> sqlpuls system/ 

簡易接続


>  connect ユーザー名/パスワード@ホスト名[:リスナーポート]/サービス名
>  sqlplus docweb/{password}@taisetsu.local:1521/orclpdb

マルチテナント

https://www.ashisuto.co.jp/tech-note/article/20130912_oracle.html

CDBの確認


SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT

起動/停止


  • 起動
SQL> startup

PDBの確認


SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO

PDBへ接続


SQL> alter session set container=ORCLPDB;

セッションが変更されました。
  • 直接
> sqlplus  user/password@pdbname

PDB 起動/停止


  • 接続して起動
SQL> startup open
  • 接続せずに(すべての場合all指定、個別の場合名前を指定)
SQL> alter pluggable database all open;

プラガブル・データベースが変更されました。
SQLPLUS /NOLOG
CONNECT username/password AS [SYSDBA | SYSOPER]
  • SHUTDOWN NORMAL:通常停止(現在データベースに接続しているすべてのユーザーがデータベースからの切断するのを待機)
  • SHUTDOWN IMMEDIATE:即時停止(コミットされていないトランザクションはすべてロールバックされます。現在データベースに接続しているユーザーが切断されるのを待機せず、直ちにデータベースは停止)
  • SHUTDOWN TRANSACTIONAL:アクティブなトランザクションを完了してからインスタンスを停止
  • SHUTDOWN ABORT:強制終了

SQL> shutdown
  • 接続せずに停止(すべての場合all指定、個別の場合名前を指定)
SQL> alter pluggable database all close;

プラガブル・データベースが変更されました。

ユーザーの作成


  • ユーザーの作成と全権限の付与
SQL> create user {{USER}} identified by "{{PASSWORD}}";

ユーザーが作成されました。

SQL> grant all privileges to {{USER}};

権限付与が成功しました。

データベースサーバー停止

  • 停止
SQL> shutdown immediate

Oracle Instant Client


  • ダウンロード
  • 軽量で簡単にインストールできる、無料のOracle Databaseツール、ライブラリ、SDKを使ってアプリケーションを作成し、Oracle Databaseインスタンスに接続
  • Oracle Instant Clientでは、ローカルまたはリモートのOracle Databaseにアプリケーションを接続して、開発および本番環境へのデプロイが可能
  • Instant Clientライブラリは、基本的なデータ機能とハイエンドなデータ機能に加えて、必要なクライアントネットワーク接続も備えているため、Oracle Databaseを余すところなく活用できます。*Node.js、Python、PHPのような人気のある言語や環境で使われるOracle APIを下から支え、OCI、OCCI、JDBC、ODBC、Pro*Cにもアクセスできます。
  • Instant Clientに含まれるSQL*PlusやOracle Data Pumpなどのツールで、データにすばやく、簡単にアクセスできるようになります。

Network

Net Listener 構成と管理


SIDとサービス名


  • インスタンスはインスタンス名で識別されます。
  • インスタンス名は、INSTANCE_NAME初期化パラメータで指定されます。インスタンス名のデフォルトは、データベース・インスタンスのOracleシステム識別子(SID)です。
  • サービス名はデータベースの論理表現です。インスタンスを起動すると、インスタンスはそれ自体を1つ以上のサービス名を使用してリスナーに登録します。
  • クライアント・プログラムまたはデータベースがリスナーに接続すると、これらはサービスへの接続を要求します。*
  • サービス名は複数のデータベース・インスタンスを識別することができ、インスタンスは複数のサービスに属することができます。
  • リスナーはクライアントとインスタンスとの間の仲介役を果し、接続要求を適切なインスタンスに渡します。サービスに接続するクライアントは、必要なインスタンスを指定する必要がありません。

リスナー


  • リスナーが、ネットワークを介して送信されるクライアントからの接続要求を受付け、サーバープロセスに引き渡すことにより接続を行う。
  • インスタンスと同じマシンにリスナーが起動している必要がある

Oracle19c listener.png

ステータス確認

C:\Users\hiroto>lsnrctl status

LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 10-11月-2021 23:26:43

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 - Production
開始日                    23-10月-2021 23:48:28
稼働時間                  17 日 23 時間 38 分 16 秒
トレース・レベル          off
セキュリティ              ON: Local OS Authentication
SNMP                      OFF
パラメータ・ファイル      C:\WINDOWS.X64_193000_db_home\network\admin\listener.ora
ログ・ファイル            C:\WINDOWS.X64_193000_db_home\log\diag\tnslsnr\taisetsu\listener\alert\log.xml
リスニング・エンドポイントのサマリー...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=taisetsu)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=taisetsu)(PORT=5500))(Security=(my_wallet_directory=C:\ORACLE\admin\orcl\xdb_wallet))(Presentation=HTTP)(Session=RAW))
サービスのサマリー...
サービス"52448234712340b69f274bcc790ecfe0"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"CLRExtProc"には、1件のインスタンスがあります。
  インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
サービス"c5484a2ca5084e87b683e77b0f10428f"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"orcl"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"orclXDB"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"orclpdb"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
起動と停止

> lsnrctl start
> lsnrctl stop
tnspingで接続確認

C:\Users\hiroto>tnsping taisetsu.local

TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 10-11月-2021 23:50:04

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

パラメータ・ファイルを使用しました:
C:\WINDOWS.X64_193000_db_home\network\admin\sqlnet.ora

エイリアスを解決するためにEZCONNECTアダプタを使用しました。
(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=tcp)(HOST=fe80::55ec:21e6:5d5f:40dd%15)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=2402:6b00:3666:5800:c826:b046:807:8416)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=2402:6b00:3666:5800:55ec:21e6:5d5f:40dd)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.20)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.20)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=2402:6b00:3666:5800:55ec:21e6:5d5f:40dd%15)(PORT=1521)))に接続の試行 中
OK (0ミリ秒)
ファイアーウォール

  • 適宜設定

Oracle19c firewall open.png

サービスネーミング


Oracle19c service.png

Oracle Net Services接続のクイック・スタート

SQL Developer

Oracle sql dev.png

  • Oracle Databaseのフリーの開発環境
  • オンプレミスおよびCloudのどちらにOracle Databaseがある場合でも、Oracle Databaseの開発や管理
  • SQL Developerでは、PL/SQLアプリケーションのend−to-end開発、SQLによる問合せやスクリプトの実行を行うワークシート、データベース管理を行うDBAコンソール、レポート・インターフェース、完全なデータ・モデリング・ソリューション、3rd Party データベースからOracleへのデータ移行などの機能が提供

接続


Oracle19c sqldev prop.png

Sql dev con2.png

Mac


ODP.NET Managed Driver


Data Pump

Jobに接続し開始・停止・確認

  • 以下SQLでJOB_NAMEを確認
SELECT * FROM DBA_DATAPUMP_JOBS;
  • expdp/impdp user/pass attach=JOB_NAME で接続
  • help/status/start_job/stop_job/kill_job

Tool

Mac


  • 以下をそれぞれのパッケージに実施
$ cd /Volumes/instantclient-basic-macos.x64-19.8.0.0.0dbru/
$ ./install_ic.sh 
$ sudo mv -f instantclient_19_8 /usr/local
  • PATHを通す
$ vi ~/.bash_profile 
export PATH="/usr/local/instantclient_19_8:$PATH"
  • 実行
$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jul 2 18:37:51 2021
Version 19.8.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

Enter user-name: 

Oracle Enterprise Manager Database Express


  • EM Expressは、Oracle Database内に構築されるWebベースのデータベース管理ツール
  • 中間層またはミドルウェア・コンポーネントを持たないため、データベース・サーバーのオーバーヘッドはほとんどありません
  • データベースがオープンしているときにのみ使用できます

PDBの管理


  • PDB用のEM Expressを起動するには、PDBが読取り/書込みモードで開かれていることを確認
  • PDBを含んでいるCDBのCDB$ROOTコンテナに接続して、CDBのグローバル・ポートを構成するたのSQL文を発行
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO

SQL> alter session set container=CDB$ROOT;
SQL> exec dbms_xdb_config.setglobalportenabled(TRUE);

PL/SQLプロシージャが正常に完了しました。
SQL> alter session set container=ORCLPDB;

セッションが変更されました。

SQL> select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
                             0
  • gethttpsportプロシージャによって0が返される場合はHTTPSポートを手動で構成する必要があります。

CDB用EM Express起動


SQL> alter session set container=CDB$ROOT;

セッションが変更されました。

SQL> select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
                          5500


Oracle em express01.png Oracle em express02.png

切り替え

  • 従来のAdobe Flash版のEM Expressに切り替える
SQL> @?/rdbms/admin/execemx emx
  • 新しいJET版のOracle EM Expressに戻る
SQL> @?/rdbms/admin/execemx omx