


Oracle Database, Oracle Database Clientをそれぞれ異なるRHEL 8マシンにインストールしました。
今回はClientからスクリプトで作成したPDB(ORCLPDB1)に接続してみたいと思います。
環境
- DB Server
- Client
・Red Hat Enterprise Linux release 8.5 (Ootpa)
・Kernel 4.18.0-348.7.1.el8_5.x86_64
・oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
・oracle-database-ee-19c-1.0-1.x86_64.rpm
・開発環境、GNOME環境、日本語入力インストール
・Subscription登録
・Red Hat Enterprise Linux release 8.5 (Ootpa)
・Kernel 4.18.0-348.7.1.el8_5.x86_64
・oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
・LINUX.X64_193000_client.zip
・開発環境、GNOME環境、日本語入力インストール
・Subscription登録
- ORCLPDB1にユーザ作成
- oracleユーザでログイン
- 環境変数の設定
- ネット・サービス名の設定
- 接続
DB Server側で作業をしてORCLPDB1にユーザを作成します。
Oracle Database ユーザー作成方法 (11g,12c,18c,19c)
https://dekiruengineer.com/engineer/create_users_in_the_oracle_database/
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | [oracle@rhel8 ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle.  All rights reserved. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。 SQL> show pdbs     CON_ID CON_NAME                       OPEN MODE  RESTRICTED ---------- ------------------------------ ---------- ----------          2 PDB$SEED                       READ ONLY  NO          3 ORCLPDB1                       READ WRITE NO | 
ORCLPDB1に接続
| 1 2 3 4 5 6 7 8 9 | SQL> alter session set container=ORCLPDB1; セッションが変更されました。 SQL> show con_name; CON_NAME ------------------------------ ORCLPDB1 | 
ユーザID:rootlinks, パスワード: Password で作成しました。
| 1 2 3 | SQL> CREATE USER rootlinks IDENTIFIED BY "Password"; ユーザーが作成されました。 | 
権限付与
| 1 2 3 4 5 6 7 | SQL> GRANT CONNECT TO rootlinks; 権限付与が成功しました。 SQL> GRANT RESOURCE TO rootlinks; 権限付与が成功しました。 | 
以下、Client側での作業になります。
取り合えずoracleユーザでログインします。
ORACLE_HOME, ORACLE_BASE, 言語設定, PATHを設定します。
| 1 2 3 4 | [oracle@rhel8 ~]$ export ORACLE_BASE=/opt/oracle/app [oracle@rhel8 ~]$ export ORACLE_HOME=/opt/oracle/app/product/19.0.0/client_1 [oracle@rhel8 ~]$ export NLS_LANG=Japanese_Japan.AL32UTF8 [oracle@rhel8 ~]$ export PATH=$PATH:$ORACLE_HOME/bin | 
tnsnames.oraにネット・サービス名を設定してサービス名で接続できるようにします。
| 1 2 3 4 5 6 7 8 9 10 11 | [oracle@rhel8 ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora [oracle@rhel8 ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora ORCLPDB1 =   (DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = rhel8)(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = ORCLPDB1)     )   ) | 
接続できました。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [oracle@rhel8 ~]$ sqlplus rootlinks/Password@ORCLPDB1 SQL*Plus: Release 19.0.0.0.0 - Production on Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle.  All rights reserved. 最終正常ログイン時間: 金 1月  12 2022 16:53:02 +09:00 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。 SQL> show con_name; CON_NAME ------------------------------ ORCLPDB1 SQL> | 
接続できない場合はFirewallの設定、あるいはtnsnames.oraに記述したHOST=と通信できるかなどを確認して下さい。