変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

CentOS7

[Linux]xrdpインスト

1.CentOS7の場合

epelを追加

# yum -y install epel-release
## yumコマンドに --enablerepo=epel オプションを指定した場合のみ epel が有効になる様に
# vi /etc/yum.repos.d/epel.repo
enable = 1 ⇒ 0 に修正。

パッケージをインスト

# yum -y --enablerepo=epel install xrdp
# yum -y --enablerepo=epel install tigervnc-server
## エラーが起きやすい設定を修正
# vi /etc/xrdp/xrdp.ini
max_bpp=32 ⇒ 24 に修正
# systemctl start xrdp
# systemctl enable xrdp

ファイアウォールの設定変更

# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload

オマケで

yum update

2.CentOS8の場合

epelを追加

# dnf -y install epel-release
## dnfコマンドに --enablerepo=epel オプションを指定した場合のみ epel が有効になる様に
# vi /etc/yum.repos.d/epel.repo
enable = 1 ⇒ 0 に修正。

パッケージをインスト

# dnf -y --enablerepo=epel install xrdp
# dnf -y --enablerepo=epel install tigervnc-server
## エラーが起きやすい設定を修正
# vi /etc/xrdp/xrdp.ini
max_bpp=32 ⇒ 24 に修正
# systemctl start xrdp
# systemctl enable xrdp

ファイアウォールの設定変更

# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload

オマケで

# dnf update


[Oracle19c]Linux版

AlmaLinux9やOracleLinux9のように新しいOSでは

アレが無い、コレが無いと、dnfがお得意の関連パッケージの自動インストール機能がうまく機能していない。

しかし、古いCentOS7なら、あまり面倒なことをせずに19Cのインストーラの初期画面まで進んだ。

※但し

  • 前提条件のチェックを全てクリアするために、
  • CPU4個、メモリ16GB、スワップ領域16GBに増量。
    • パッケージのアップデート時にX-Windowの画面が固まり操作不能になるので、CPU+3個
    • インスト時にスワップ領域不足の警告が出るのでスワップ領域を増量。
      • 8GBではstartup時にシェアメモリ不足(ORA-27104)が発生。更に増量(16GB)
    • インスト時にシェアメモリ不足の警告が出るのでメモリ増量してカーネルパラメータを再計算
  • リスナー作成直後に再起動するとリスナが起動してないので
    • /etc/hostsにノード名が無かったので追記し、lsnrctl startする。
  • アドバンスモードではOracle Enterprise Manager のポートに何を指定してもダメだったので、チェックを外した。

参考1:CentOS7 Stream Oracle Database 19c : インストール では日本語でインストーラが動いた。

CentOS8は OSのサポートが2021年12月末で終了し、https://ftp.riken.jp/Linux/centos/8.5.2111/isos/x86_64/ のリンクも無くなったので、

CentOS8 Streamを使う事になる。

CentOS Stream 8 へ https://ftp.riken.jp/Linux/centos/8-stream/isos/x86_64/

参考2-1:Oracle Dtabase 19c(CentOS8) は、最終的には「なぜかうまくいかない」。

※参考2-1は、メモリ8GBで試行している。

以下、変更点

1.カーネルパラメータの設定方法

元々は固定値で設定していたが、割り当てたメモリ量から計算する様に修正。

# MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}')
# SHMMAX=$(expr $MEMTOTAL / 2)
# SHMMNI=4096
# PAGESIZE=$(getconf PAGE_SIZE)
# cat > /etc/sysctl.d/50-oracle.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = $SHMMAX
kernel.shmall = $(expr \( $SHMMAX / $PAGESIZE \) \* \( $SHMMNI / 16 \))
kernel.shmmni = $SHMMNI
kernel.sem = 250 32000 100 128
kernel.panic_on_oops = 1
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF

2.インストールするパッケージの追加

インストーラを起動するとエラーが出たので、それっぽいパッケージを追加。

# dnf -y install libnsl

ダウンロードしたrpmをインストールする手順が抜けていたので追加

# dnf localinstall  *.rpm       ※個別にrpmファイルをしてして実行したけど、多分これでいいはず

差し替えるJDKのパスを

# cp -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-11.el8.x86_64/jre /u01/app/oracle/product/19.3.0/dbhome_1/jdk/jre

hostsに自分のマシン名が無いので

127.0.0.1   ******.******.****** localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         ******.******.****** localhost localhost.localdomain localhost6 localhost6.localdomain6

ここまでやっても、

「インストール」ボタンを押して7%まで進んだあたりで

「ファイル%filename%が見つかりません」

と出るエラーが出る、「継続」押下で続けるが・・・

100%まで進んるのになぁ
OpenJDKに差し替えて動いたけど、どこかで互換性が無くて失敗したっぽい。
DBCAの構成で失敗してるので、日本語対応のJREに差し替えたせいかもしれない。

※メモリ16GBでの動作は未確認。

参考2ー2:CentOS8 Stream Oracle Database 19c : インストール のページはインスト直前まで。

login: oracle
Password:xxxxxxx

$ vi ~/.bash_profile
# 最終行に追記
umask 022
export ORACLE_BASE=/u01/app/oracle

# インストール用 Dir 作成
$ mkdir database

LANG=Cを付けてインストーラを起動すると真っ白になる。とりあえず、保留。

参考2ー3:CentOS8 Oracle Database 19c : インストール すると日本語文字化けするので

cd database
$ unzip LINUX.X64_193000_db_home.zip
$ export CV_ASSUME_DISTID=RHEL8.2
$ export LANG=C
$ ./runInstaller

CentOS8系では、インストーラのJREの日本語フォントとX-Windowの日本語フォントがうまくマッピングされず日本語モードでは文字化けするが、英語モードでのインストールなら問題無し。

しかし、メモリ8GBで得たシェアメモリの容量ではstartupでシェアメモリの容量不足となり16GBに増量し、カーネルパラメータを再計算したところ、startupに成功した。

CentOS8 stream でメモリ8GBでも使えるカーネルパラメータの計算方法があればいいんだけど。

そんな訳で、CentOS8系は微妙。

参照2-3に参照2-1のJRE差し替えを混ぜるといいのかもしれない。

Hyper-Vの起動画面よりもXRDPでWindowsのリモートデスクトップ越しにインストーラを起動した方がマウスカーソルもオーバーラップするしコピペもできインストールもスムーズ。

・・・

と書いたものの、実際やってみると手順通りにヌルっとインストールできず、ドコかでアハってしまう。

rootでシェル起動してもいい?ってメッセージをちょっと放置したら画面が固まるけど、それはOSアップデートが後追いでやってきたせいな気もする。

yumやdnfのアップデートでおきる僅かな修正で何かがうまくいっていないんだろう。

インストーラのチューニングが攻めすぎなんだろうね。

Linux「9」なんて無理そうだから、ここで調査を終了。

とりあえず、CentOS7がアンパイだ。



【CentOS7.6】MariaDB

# yum update
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                     | 6.4 kB     00:00
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
base                                                     | 3.6 kB     00:00
epel                                                     | 5.3 kB     00:00
extras                                                   | 3.4 kB     00:00
updates                                                  | 3.4 kB     00:00
(1/2): epel/x86_64/updateinfo                              | 978 kB   00:00
(2/2): epel/x86_64/primary_db                              | 6.8 MB   00:00
No packages marked for update
# yum install -y mariadb mariadb-server
インストール:
  mariadb.x86_64 1:5.5.60-1.el7_5     mariadb-server.x86_64 1:5.5.60-1.el7_5
# systemctl start mariadb
# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
# mysql --version
mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] [ENTER]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] [ENTER]
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] [ENTER]
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] [ENTER]
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] [ENTER]
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
# vi /etc/my.cnf.d/server.conf
 [mariadb]に
⇒ character-set-server = utf8mb4 ←を追記
# vi /etc/my.cnf.d/client.conf
 [mariadb]に
⇒ default-character-set = utf8mb4 ←を追記
# systemctl restart mariadb
# mysql -u root -p
MariaDB [(none)]> show variables like "chara%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
MariaDB [(none)]> quit;
# yum install phpMyAdmin
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ phpMyAdmin.noarch 0:4.4.15.10-3.el7 を インストール
--> 依存性の処理をしています: php-gd >= 5.3.7 のパッケージ: phpMyAdmin-4.4.15.10-3.el7.noarch
--> 依存性の処理をしています: php-mysqli >= 5.3.7 のパッケージ: phpMyAdmin-4.4.15.10-3.el7.noarch
--> 依存性の処理をしています: php-php-gettext のパッケージ: phpMyAdmin-4.4.15.10-3.el7.noarch
--> 依存性の処理をしています: php-tcpdf のパッケージ: phpMyAdmin-4.4.15.10-3.el7.noarch
--> 依存性の処理をしています: php-tcpdf-dejavu-sans-fonts のパッケージ: phpMyAdmin-4.4.15.10-3.el7.noarch
--> 依存性の処理をしています: php-xmlwriter のパッケージ: phpMyAdmin-4.4.15.10-3.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ php-gd.x86_64 0:5.4.16-46.el7 を インストール
--> 依存性の処理をしています: libt1.so.5()(64bit) のパッケージ: php-gd-5.4.16-46.el7.x86_64
---> パッケージ php-mysql.x86_64 0:5.4.16-46.el7 を インストール
--> 依存性の処理をしています: php-pdo(x86-64) = 5.4.16-46.el7 のパッケージ: php-mysql-5.4.16-46.el7.x86_64
---> パッケージ php-php-gettext.noarch 0:1.0.12-1.el7 を インストール
---> パッケージ php-tcpdf.noarch 0:6.2.26-1.el7 を インストール
--> 依存性の処理をしています: php-bcmath のパッケージ: php-tcpdf-6.2.26-1.el7.noarch
--> 依存性の処理をしています: php-composer(fedora/autoloader) のパッケージ: php-tcpdf-6.2.26-1.el7.noarch
--> 依存性の処理をしています: php-posix のパッケージ: php-tcpdf-6.2.26-1.el7.noarch
--> 依存性の処理をしています: php-tidy のパッケージ: php-tcpdf-6.2.26-1.el7.noarch
---> パッケージ php-tcpdf-dejavu-sans-fonts.noarch 0:6.2.26-1.el7 を インストー ル
---> パッケージ php-xml.x86_64 0:5.4.16-46.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ php-bcmath.x86_64 0:5.4.16-46.el7 を インストール
---> パッケージ php-fedora-autoloader.noarch 0:1.0.0-1.el7 を インストール
---> パッケージ php-pdo.x86_64 0:5.4.16-46.el7 を インストール
---> パッケージ php-process.x86_64 0:5.4.16-46.el7 を インストール
---> パッケージ php-tidy.x86_64 0:5.4.16-9.el7 を インストール
--> 依存性の処理をしています: libtidy-0.99.so.0()(64bit) のパッケージ: php-tidy-5.4.16-9.el7.x86_64
---> パッケージ t1lib.x86_64 0:5.1.2-14.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ compat-libtidy.x86_64 0:0.99.0-37.20091203.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
 Package                       アーキテクチャー
                                        バージョン                 リポジトリー
                                                                           容量
================================================================================
インストール中:
 phpMyAdmin                    noarch   4.4.15.10-3.el7            epel   4.7 M
依存性関連でのインストールをします:
 compat-libtidy                x86_64   0.99.0-37.20091203.el7     epel   133 k
 php-bcmath                    x86_64   5.4.16-46.el7              base    58 k
 php-fedora-autoloader         noarch   1.0.0-1.el7                epel   9.6 k
 php-gd                        x86_64   5.4.16-46.el7              base   128 k
 php-mysql                     x86_64   5.4.16-46.el7              base   101 k
 php-pdo                       x86_64   5.4.16-46.el7              base    99 k
 php-php-gettext               noarch   1.0.12-1.el7               epel    23 k
 php-process                   x86_64   5.4.16-46.el7              base    56 k
 php-tcpdf                     noarch   6.2.26-1.el7               epel   2.1 M
 php-tcpdf-dejavu-sans-fonts   noarch   6.2.26-1.el7               epel   257 k
 php-tidy                      x86_64   5.4.16-9.el7               epel    23 k
 php-xml                       x86_64   5.4.16-46.el7              base   126 k
 t1lib                         x86_64   5.1.2-14.el7               base   166 k
トランザクションの要約
================================================================================
インストール  1 パッケージ (+13 個の依存関係のパッケージ)
総ダウンロード容量: 7.9 M
インストール容量: 38 M
Is this ok [y/d/N]: y
Downloading packages:
(1/14): php-bcmath-5.4.16-46.el7.x86_64.rpm                |  58 kB   00:00
(2/14): compat-libtidy-0.99.0-37.20091203.el7.x86_64.rpm   | 133 kB   00:00
(3/14): php-fedora-autoloader-1.0.0-1.el7.noarch.rpm       | 9.6 kB   00:00
(4/14): php-php-gettext-1.0.12-1.el7.noarch.rpm            |  23 kB   00:00
(5/14): php-gd-5.4.16-46.el7.x86_64.rpm                    | 128 kB   00:00
(6/14): php-process-5.4.16-46.el7.x86_64.rpm               |  56 kB   00:00
(7/14): php-mysql-5.4.16-46.el7.x86_64.rpm                 | 101 kB   00:00
(8/14): php-pdo-5.4.16-46.el7.x86_64.rpm                   |  99 kB   00:00
(9/14): php-tcpdf-6.2.26-1.el7.noarch.rpm                  | 2.1 MB   00:00
(10/14): php-tcpdf-dejavu-sans-fonts-6.2.26-1.el7.noarch.r | 257 kB   00:00
(11/14): php-tidy-5.4.16-9.el7.x86_64.rpm                  |  23 kB   00:00
(12/14): php-xml-5.4.16-46.el7.x86_64.rpm                  | 126 kB   00:00
(13/14): t1lib-5.1.2-14.el7.x86_64.rpm                     | 166 kB   00:00
(14/14): phpMyAdmin-4.4.15.10-3.el7.noarch.rpm             | 4.7 MB   00:00
--------------------------------------------------------------------------------
合計                                               4.9 MB/s | 7.9 MB  00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : php-xml-5.4.16-46.el7.x86_64                   1/14
warning: Failed to open SELinux handle.
  インストール中          : php-php-gettext-1.0.12-1.el7.noarch            2/14
  インストール中          : php-bcmath-5.4.16-46.el7.x86_64                3/14
  インストール中          : php-process-5.4.16-46.el7.x86_64               4/14
  インストール中          : t1lib-5.1.2-14.el7.x86_64                      5/14
  インストール中          : php-gd-5.4.16-46.el7.x86_64                    6/14
  インストール中          : php-pdo-5.4.16-46.el7.x86_64                   7/14
  インストール中          : php-mysql-5.4.16-46.el7.x86_64                 8/14
  インストール中          : compat-libtidy-0.99.0-37.20091203.el7.x86_6    9/14
  インストール中          : php-tidy-5.4.16-9.el7.x86_64                  10/14
  インストール中          : php-fedora-autoloader-1.0.0-1.el7.noarch      11/14
  インストール中          : php-tcpdf-6.2.26-1.el7.noarch                 12/14
  インストール中          : php-tcpdf-dejavu-sans-fonts-6.2.26-1.el7.no   13/14
  インストール中          : phpMyAdmin-4.4.15.10-3.el7.noarch             14/14
  検証中                  : php-tidy-5.4.16-9.el7.x86_64                   1/14
  検証中                  : phpMyAdmin-4.4.15.10-3.el7.noarch              2/14
  検証中                  : php-fedora-autoloader-1.0.0-1.el7.noarch       3/14
  検証中                  : compat-libtidy-0.99.0-37.20091203.el7.x86_6    4/14
  検証中                  : php-tcpdf-6.2.26-1.el7.noarch                  5/14
  検証中                  : php-mysql-5.4.16-46.el7.x86_64                 6/14
  検証中                  : php-pdo-5.4.16-46.el7.x86_64                   7/14
  検証中                  : php-tcpdf-dejavu-sans-fonts-6.2.26-1.el7.no    8/14
  検証中                  : t1lib-5.1.2-14.el7.x86_64                      9/14
  検証中                  : php-process-5.4.16-46.el7.x86_64              10/14
  検証中                  : php-bcmath-5.4.16-46.el7.x86_64               11/14
  検証中                  : php-gd-5.4.16-46.el7.x86_64                   12/14
  検証中                  : php-php-gettext-1.0.12-1.el7.noarch           13/14
  検証中                  : php-xml-5.4.16-46.el7.x86_64                  14/14
インストール:
  phpMyAdmin.noarch 0:4.4.15.10-3.el7
依存性関連をインストールしました:
  compat-libtidy.x86_64 0:0.99.0-37.20091203.el7
  php-bcmath.x86_64 0:5.4.16-46.el7
  php-fedora-autoloader.noarch 0:1.0.0-1.el7
  php-gd.x86_64 0:5.4.16-46.el7
  php-mysql.x86_64 0:5.4.16-46.el7
  php-pdo.x86_64 0:5.4.16-46.el7
  php-php-gettext.noarch 0:1.0.12-1.el7
  php-process.x86_64 0:5.4.16-46.el7
  php-tcpdf.noarch 0:6.2.26-1.el7
  php-tcpdf-dejavu-sans-fonts.noarch 0:6.2.26-1.el7
  php-tidy.x86_64 0:5.4.16-9.el7
  php-xml.x86_64 0:5.4.16-46.el7
  t1lib.x86_64 0:5.1.2-14.el7
完了しました!
# vi /etc/httpd/conf.d/phpMyAdmin.conf
⇒ Require ip 192.168.1.0/24 適宜
⇒ Allow from 192.168.1.0/24 適宜
# vi /etc/phpMyAdmin/config.inc.php 特に無し
# systemctl reload httpd
http://192.168.1.xxx/phpMyAdmin


【CentOS7.6】Selinux

getenforce
Enforcing
setenforce 0
vi /etc/selinux/config
⇒SELINUX=targeted ⇒ disabled
reboot
getenforce
disabled   のハズ

だったけど、
SELINUXTYPE=targeted

SELINUXTYPE=disabled
にしてしまったので、ブートに失敗。

コンソールには
!!!!!!! Failed to load SELinux policy, freezing.
の文字。

BDドライブを繋いで、
DVDメディアからブートし、
Troubleshootingを選択、
次の2択は迷わず、Recure a CentOS system を選択、
次の3択は1のContinueを選択して、
後は[Enter]。。。

そうすると、your system は /mnt/sysimage にマウントしてあげたと出るので、

vi /mnt/sysimage/etc/selunux/config で 正しく修正して保存・・・
がなんかうまくいかない。

E20: Mark not set
とか出てくる。
でも、:とwとqと!を何度か押していると、
:.wdq1. とか出てきたら:wqで終われた。
reboot
で全てOK。

ググってみると、キーボードがUSになってるらしく、 いくら109日本語キーボードで:を押してもイミフになっていたらしい。 「:」の代わりに「SHIFT」+「;」を押せばよかった様だ。

「{」も「SHIFT」+「 }」かな?



12を使ってみた

学習目的で利用。

ダウンロード先巨大なZIPファイル

インストレーション・ガイド必読書。Windows版の方が多分楽

引用: Oracle Technology Network

起動順

  • リスナーを起動する。
    • lsnrctl start
  • データベースを起動する。
    • sqlplus / as sysdba
    • startup
  • プラガブル・データベースを開く。
    • show pdbs で状態を見て、MOUNTEDだったら
      • alter pluggable database {PDB名} open; する
  • プラガブル・データベースに移動するなら。
    • alter session set container= {PDB名} ;
  • でも毎回 プラガブル・データベースを開くのが面倒いので
    • ALTER PLUGGABLE DATABASE {PDB名} SAVE STATE; する

そんな訳でtnsnames.oraに プラガブル・データベース への接続設定が必要。

  • SRV_PDB=
    • (DESCRIPTION =
      • (ADDRESS =
        • (PROTOCOL = TCP)
        • (HOST = {サーバ名})
        • (PORT = 1521)
      • )
      • (CONNECT_DATA =
        • (SERVER = DEDICATED)
        • (SERVICE_NAME = {PDB名})
      • )
    • )

でも、A5の 直接接続ならサービス名( つまり{PDB名} )で接続するように指定すればいいだけかな?

終了順(適当)

  • リスナーを停止
    • lsnrctl stop
  • データベースを停止する。
    • shutdown

でも、コマンドは面倒なので

  • サービス自動起動化のためコマンド使用可にする
    • vi /etc/oratab
      • $ORACLE_SID:$ORACLE_HOME:N の NをYに変える
  • サービスを作成
  • CentOS6はhttps://docs.oracle.com/cd/E57425_01/121/UNXAR/strt_stp.htmを参照。CentOS7は以下。
    • vi /etc/sysconfig/db01.oracledb
      • oracle ユーザの.bash_profileから設定をコピー
        • ORACLE_BASE、ORACLE_HOME、ORACLE_SID
    • vi /usr/lib/systemd/system/db01@lsnrctl.service
      • [Unit]
        • Description=Oracle12c Net Listener
        • After=network.target
      • [Service]
        • Type=forking
        • EnvironmentFile=/etc/sysconfig/db01.oracledb
        • ExecStart=/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start
        • ExecStop=/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl stop
        • User=oracle
      • [Install]
        • WantedBy=multi-user.target
    • vi /usr/lib/systemd/system/db01@oracledb.service
      • [Unit]
        • Description=Oracle12c Database service
        • After=network.target lsnrctl.service
      • [Service]
        • Type=forking
        • EnvironmentFile=/etc/sysconfig/db01.oracledb
        • ExecStart=/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart $ORACLE_HOME
        • ExecStop=/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbshut $ORACLE_HOME
        • User=oracle
      • [Install]
        • WantedBy=multi-user.target
  • 作ったサービスを登録
    • systemctl daemon-reload
    • systemctl enable db01@lsnrctl db01@oracledb

再起動すると、 https://サーバー:5500/em も開けた。

ユーザ作成

ところがメニューはコンテナデータベース( CDB )のまま。CDBではユーザが作れないのでメニューからプラガブル・データベース(PDB)へ切り替えたいが、そんな方法は無いらしい。

ググってみると、PDB用のemが作れる様だ

  • sqlplus / as sysdba から、
  • PDBに遷移
    • ALTER SESSION SET CONTAINER={PDB名};
  • PDBにem用のポートを設定
    • exec dbms_xdb_config.sethttpsport(5504);
  • 要確認
    • SELECT c.name,c.open_mode,e.port FROM v$pdbs c, xdb.xdb$cdbports e WHERE c.con_id = e.pdb (+);

NAMEOPEN_MODEPORT
PDB1READ WRITE5504
PDB2MOUNTED
PDB$SEEDREAD ONLY
  • お約束のファイアーウォール設定
    • firewall-cmd – -permanent –zone=public – -add-port=5504/tcp
    • firewall-cmd – -reload
  • https://サーバー:5504/em のメニューにPDB名が出るようになった。
やっと「表領域」が見えた!

これで、【セキュリティ】⇒【ユーザ】画面で[ユーザの作成]のウィザードがまともに使えるようになる。ロールはザッくりな感じで。

  • CONNECT ※接続
  • DBM ※Create Table とか
  • Unlimited Tablespace ※INSERTとか

こんなSQLを流してみると、

DROP PUBLIC SYNONYM SAMPLE1;
CREATE TABLE AAAAAA.SAMPLE1 (
ID      VARCHAR(10) not null,
NAME    VARCHAR(30),
ADDRESS VARCHAR(255),
MEMO    VARCHAR(255)
);
SELECT * from AAAAAA.SAMPLE1;
CREATE PUBLIC SYNONYM SAMPLE1 FOR AAAAAA.SAMPLE1;
SELECT * FROM SAMPLE1;
INSERT INTO  SAMPLE1 VALUES('a','b','c','');
INSERT INTO  SAMPLE1 VALUES('A','B','C','');
UPDATE SAMPLE1 SET ID='aAA',NAME='bBB',ADDRESS='cCC',MEMO='***###' WHERE ID='a';
SELECT * FROM SAMPLE1;
DELETE SAMPLE1 WHERE ID='b';
SELECT * FROM SAMPLE1;

シノニムがめんどくさい。

19cの方がインストーラが日本語表示してくれるようだが、
設定方法が悪かったのか、インスト時にデータベースも作ろうとすると
5500ポートが使用中とかで失敗してしまう。
それでプログラムだけインストして、
binのdbcaでデータベースを作るとemが起動しない。
select dbms_xdb_config.getHttpsPort() from dual; が

DBMS_XDB_CONFIG.GETHTTPSPORT()
0

なので、
exec dbms_xdb_config.sethttpsport(5500);
pdb1の分も作ってみる。
ALTER SESSION SET CONTAINER=pdb1;
exec dbms_xdb_config.sethttpsport(5504);
SELECT c.name,c.open_mode,e.port FROM v$pdbs c, xdb.xdb$cdbports e WHERE c.con_id = e.pdb (+);では見えないが、
select dbms_xdb_config.getHttpsPort() from dual;で設定を確認。

firewall-cmd –add-port=5500/tcp –permanent
firewall-cmd –add-port=5504/tcp –permanent
firewall-cmd –reload
見えなかったら rebootしてみるといいかも。
あれ?メニューがPerformanceだけ。
マニュアル読んで、全部やりなおしかな?




top