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

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
6,224 バイト追加 、 2022年3月28日 (月) 08:30
| [[Oracle]] | [[Oracle Database10g]] | [[SQL Plus]] | [[Oracle.DataAccess.Client]] |
==Oracle Database19c==
[https://docs.oracle.com/cd/F19136_01/index.html Oracle Database 19c]
==管理==
[https://docs.oracle.com/cd/F19136_01/admqs/index.html 2日でデータベース管理者]
===[[SQL Plus]]に管理者接続===
----
====管理者接続====
----
*CDBにローカル接続(OS認証)
<pre>
&gt; sqlpuls / as sysdba
</pre>
 
*CDBにローカル接続(パスワード認証)
<pre>
&gt; sqlpuls system/
</pre>
 
====簡易接続====
----
<pre>
&gt; connect ユーザー名/パスワード@ホスト名[:リスナーポート]/サービス名
&gt; sqlplus docweb/{password}@taisetsu.local:1521/orclpdb
</pre>
 
==マルチテナント==
https://www.ashisuto.co.jp/tech-note/article/20130912_oracle.html
セッションが変更されました。
</pre>
 
*直接
<pre>
&gt; sqlplus user/password@pdbname
</pre>
</pre>
*接続して停止
*https://atmarkit.itmedia.co.jp/fdb/ref/ref_oracle/shutdown.html
<pre>
SQLPLUS /NOLOG
CONNECT username/password AS [SYSDBA | SYSOPER]
</pre>
*SHUTDOWN NORMAL:通常停止(現在データベースに接続しているすべてのユーザーがデータベースからの切断するのを待機)
*SHUTDOWN IMMEDIATE:即時停止(コミットされていないトランザクションはすべてロールバックされます。現在データベースに接続しているユーザーが切断されるのを待機せず、直ちにデータベースは停止)
*SHUTDOWN TRANSACTIONAL:アクティブなトランザクションを完了してからインスタンスを停止
*SHUTDOWN ABORT:強制終了
<pre>
 
SQL> shutdown
</pre>
プラガブル・データベースが変更されました。
</pre>
 
===ユーザーの作成===
----
*ユーザーの作成と全権限の付与
*CDBに作成しようとすると、ORA-65096 エラー PDBに作成する
<pre>
SQL> create user {{USER}} identified by "{{PASSWORD}}";
</pre>
===[https://www.oracle.com/jp/database/technologies/oracle-instant-client.html Oracle Instant Client]===----*[https://www.oracle.com/jp/database/technologies/instant-client/downloads.html ダウンロード]*軽量で簡単にインストールできる、無料の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== ===[https://docs.oracle.com/cd/F19136_01/admqsnetag/gettingconfiguring-startedand-withadministering-databaseoracle-net-administrationlistener.html#GUID-BA75AD46C3C40DBA-4282-41E1-D22E9562-49144B8B10947C4E Net Listener 構成と管理]===-A31E-C395CD6A2BBA --*[[Oracle Enterprise 10gR2 リスナーの構成 Oracle Net Manager Database Express]] ====SIDとサービス名====----*インスタンスはインスタンス名で識別されます。*インスタンス名は、INSTANCE_NAME初期化パラメータで指定されます。インスタンス名のデフォルトは、データベース・インスタンスのOracleシステム識別子(SID)です。*EM Expressは、Oracle Database内に構築されるWebベースのデータベース管理ツールサービス名はデータベースの論理表現です。インスタンスを起動すると、インスタンスはそれ自体を1つ以上のサービス名を使用してリスナーに登録します。*中間層またはミドルウェア・コンポーネントを持たないため、データベース・サーバーのオーバーヘッドはほとんどありませんクライアント・プログラムまたはデータベースがリスナーに接続すると、これらはサービスへの接続を要求します。**データベースがオープンしているときにのみ使用できますサービス名は複数のデータベース・インスタンスを識別することができ、インスタンスは複数のサービスに属することができます。*リスナーはクライアントとインスタンスとの間の仲介役を果し、接続要求を適切なインスタンスに渡します。サービスに接続するクライアントは、必要なインスタンスを指定する必要がありません。 ====サービス名をSIDとして使用する====[https://docs.oracle.com/cd/F19136_01E96517_01/admqsnetrf/managingOracle-Net-Listener-parameters-pdbsin-withlistener-emora-expressfile.html#GUID-24A7DC455055BBB9-7A1426E5-47A1465D-B14AB79A-E1A7093CE6D9 PDBの管理A712FADF3595 USE_SID_AS_SERVICE*listener.ora<pre>USE_SID_AS_SERVICE_<リスナー名>=on<pre> ====リスナー====----*PDB用のEM Expressを起動するには、PDBが読取り/書込みモードで開かれていることを確認リスナーが、ネットワークを介して送信されるクライアントからの接続要求を受付け、サーバープロセスに引き渡すことにより接続を行う。*PDBを含んでいるCDBのCDB$ROOTコンテナに接続して、CDBのグローバル・ポートを構成するたのSQL文を発行インスタンスと同じマシンにリスナーが起動している必要がある [[File:oracle19c_listener.png|500px]] =====ステータス確認=====----
<pre>
SQLC:\Users\hiroto> show pdbslsnrctl status LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 10-11月-2021 23:26:43
CON_ID CON_NAME OPEN MODE Copyright (c) 1991, 2019, Oracle. RESTRICTED---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NOAll rights reserved.
SQL> alter session set container(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=CDB$ROOT;1521)))に接続中リスナーのステータス------------------------別名 LISTENERバージョン TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 - Production開始日 23-10月-2021 23:48:28稼働時間 17 日 23 時間 38 分 16 秒SQL> exec dbms_xdb_configトレース・レベル offセキュリティ ON: Local OS AuthenticationSNMP 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.setglobalportenabled1)(TRUEPORT=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件のハンドラがあります...コマンドは正常に終了しました。</pre>
PL/SQLプロシージャが正常に完了しました。=====起動と停止=====----<pre>> lsnrctl start> lsnrctl stop
</pre>
=====tnspingで接続確認=====
----
<pre>
SQLC:\Users\hiroto> alter session set container=ORCLPDB;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.
SQL> select dbms_xdb_configパラメータ・ファイルを使用しました:C:\WINDOWS.gethttpsport() from dual;X64_193000_db_home\network\admin\sqlnet.ora
DBMS_XDB_CONFIGエイリアスを解決するために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.GETHTTPSPORT20)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=2402:6b00:3666:5800:55ec:21e6:5d5f:40dd%15)(PORT=1521)))に接続の試行 中------------------------------ 0OK (0ミリ秒)
</pre>
*gethttpsportプロシージャによって0が返される場合はHTTPSポートを[https://docs.oracle.com/cd/F19136_01/admqs/getting-started-with-database-administration.html#GUID-EB851101-07BE-4038-BB9D-06E01CC7F5D5 手動で構成]する必要があります。
=====ファイアーウォール=====----*適宜設定[[httpsFile://wwworacle19c_firewall_open.oracle.com/jp/database/technologies/oracle-instant-client.html Oracle Instant Clientpng|500px]====サービスネーミング====
----
*[[File:oracle19c_service.png|500px]] ===[https://wwwdocs.oracle.com/jpcd/databaseF19136_01/technologiesnetag/instantquick-start-oracle-net-client/downloadsservices.html ダウンロード#GUID-3CC45653-0D18-4FA1-9B6B-BE1767A403AF Oracle Net Services接続のクイック・スタート]===*軽量で簡単にインストールできる、無料の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などのツールで、データにすばやく、簡単にアクセスできるようになります。
==[https://www.oracle.com/jp/tools/technologies/sql-developer.html SQL Developer]==
===接続===
----
[[File:Sql_dev_conoracle19c_sqldev_prop.png|400px500px]]
[[File:Sql_dev_con2.png|400px]]
*[https://www.oracle.com/jp/database/technologies/oramag/o46odp.html パフォーマンスの向上]
==NetworkData Pump== ===[https://docs.oracle.com/cd/F19136_01/netag/configuring-and-administering-oracle-net-listener.html#GUID-C3C40DBA-4282-41E1-9562-4B8B10947C4E Net Listener 構成と管理]Jobに接続し開始・停止・確認===----*[[Oracle 10gR2 リスナーの構成 Oracle Net Manager]]以下SQLでJOB_NAMEを確認<pre>====SIDとサービス名====----SELECT *インスタンスはインスタンス名で識別されます。FROM DBA_DATAPUMP_JOBS;*インスタンス名は、INSTANCE_NAME初期化パラメータで指定されます。インスタンス名のデフォルトは、データベース・インスタンスのOracleシステム識別子(SID)です。</pre>*サービス名はデータベースの論理表現です。インスタンスを起動すると、インスタンスはそれ自体を1つ以上のサービス名を使用してリスナーに登録します。*クライアント・プログラムまたはデータベースがリスナーに接続すると、これらはサービスへの接続を要求します。**サービス名は複数のデータベース・インスタンスを識別することができ、インスタンスは複数のサービスに属することができます。*リスナーはクライアントとインスタンスとの間の仲介役を果し、接続要求を適切なインスタンスに渡します。サービスに接続するクライアントは、必要なインスタンスを指定する必要がありません。  ==expdp/impdp user/pass attach==リスナー====----JOB_NAME で接続*リスナーが、ネットワークを介して送信されるクライアントからの接続要求を受付け、サーバープロセスに引き渡すことにより接続を行う。*インスタンスと同じマシンにリスナーが起動している必要がある[[File:oracle19c_listener.png|500px]]help/status/start_job/stop_job/kill_job
===[https://docs.oracle.com/cd/F19136_01/netag/quick-start-oracle-net-services.html#GUID-3CC45653-0D18-4FA1-9B6B-BE1767A403AF Oracle Net Services接続のクイック・スタート]===
==Tool==
===[[Mac]]===
Enter user-name:
</pre>
 
===[https://docs.oracle.com/cd/F19136_01/admqs/getting-started-with-database-administration.html#GUID-BA75AD46-D22E-4914-A31E-C395CD6A2BBA Oracle Enterprise Manager Database Express]===
----
*EM Expressは、Oracle Database内に構築されるWebベースのデータベース管理ツール
*中間層またはミドルウェア・コンポーネントを持たないため、データベース・サーバーのオーバーヘッドはほとんどありません
*データベースがオープンしているときにのみ使用できます
====[https://docs.oracle.com/cd/F19136_01/admqs/managing-pdbs-with-em-express.html#GUID-24A7DC45-7A14-47A1-B14A-E1A7093CE6D9 PDBの管理]====
----
*PDB用のEM Expressを起動するには、PDBが読取り/書込みモードで開かれていることを確認
*PDBを含んでいるCDBのCDB$ROOTコンテナに接続して、CDBのグローバル・ポートを構成するたのSQL文を発行
<pre>
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プロシージャが正常に完了しました。
</pre>
 
<pre>
SQL> alter session set container=ORCLPDB;
 
セッションが変更されました。
 
SQL> select dbms_xdb_config.gethttpsport() from dual;
 
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
0
</pre>
*gethttpsportプロシージャによって0が返される場合はHTTPSポートを[https://docs.oracle.com/cd/F19136_01/admqs/getting-started-with-database-administration.html#GUID-EB851101-07BE-4038-BB9D-06E01CC7F5D5 手動で構成]する必要があります。
 
====CDB用EM Express起動====
----
<pre>
SQL> alter session set container=CDB$ROOT;
 
セッションが変更されました。
 
SQL> select dbms_xdb_config.gethttpsport() from dual;
 
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
5500
</pre>
 
 
*https://taisetsu:5500/em
*sysやsystemで接続
 
[[File:Oracle_em_express01.png|400px]]
[[File:Oracle_em_express02.png|400px]]
====切り替え====
*従来のAdobe Flash版のEM Expressに切り替える
<pre>
SQL> @?/rdbms/admin/execemx emx
</pre>
 
*新しいJET版のOracle EM Expressに戻る
<pre>
SQL> @?/rdbms/admin/execemx omx
</pre>

案内メニュー