- Database Configuration Assistant(dbca) の起動
 - データベース操作の選択 1/14
 - データベース作成モードの選択 2/14
 - データベース・デプロイメント・タイプの選択 3/14
 - データベースIDの詳細指定 4/14
 - データベース記憶域オプションの選択 5/14
 - 高速リカバリ・オプションの選択 6/14
 - ネットワーク構成詳細の指定 7/14
 - Oracle Data Vault構成オプションの選択 8/15
 - 構成オプションの指定 9/15
 - 管理オプションの指定 10/15
 - データベース作成オプションの選択 12/15
 - サマリー 13/15
 - 進行状況ページ 14/15
 - 終了 15/15
 - oracleユーザの環境変数追記
 
OracleLinux7.3インストール
| 
 Install Oracle Linux 7.3選択  | 
 日本語![]()  | 
| 
 サーバGUIとFTPサーバを選択 GUIは当該ホストでOracleDB設定が可能だから。FTPはDBインストールファイルを転送したいから  | 
| 
 パーティーション設定 ここでは/boot / swapのみで構成しほとんどを/に充てた  | 
 ネットワークとホスト名![]()  | 
![]()  | 
 rootパスワードの設定![]()  | 
| 
 再起動  | 
 ライセンス規約に合意チェック![]()  | 
![]()  | 
OSの設定
hosts設定
| 
					 1 2 3  | 
						# cat /etc/hosts 127.0.0.1   vmdb1016 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         vmdb1016 localhost localhost.localdomain localhost6 localhost6.localdomain6  | 
					
SELINUX無効設定(セキュリティリスクあり)
| 
					 1 2 3 4 5 6 7 8 9 10 11 12  | 
						vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: #     enforcing - SELinux security policy is enforced. #     permissive - SELinux prints warnings instead of enforcing. #     disabled - No SELinux policy is loaded. SELINUX=disabled #SELINUX=enforcing # SELINUXTYPE= can take one of these two values: #     targeted - Targeted processes are protected, #     mls - Multi Level Security protection. SELINUXTYPE=targeted  | 
					
起動カーネル
Hyper-V仮想マシンとして構築しているためUEKは用いずRedHat互換カーネルを選択する
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39  | 
						# cat /etc/oracle-release Oracle Linux Server release 7.4 # uname -a Linux vmdb1016 4.1.12-94.5.9.el7uek.x86_64 #2 SMP Tue Aug 15 13:56:37 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux Hyper-V上で稼働させるためUEKではなくRedHat互換カーネルで常時起動出来るようにする # grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2 Oracle Linux Server (4.1.12-94.5.9.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.4 Oracle Linux Server (4.1.12-61.1.18.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.4 Oracle Linux Server (3.10.0-693.1.1.el7.x86_64 with Linux) 7.4 Oracle Linux Server (3.10.0-514.el7.x86_64 with Linux) 7.4 Oracle Linux Server (0-rescue-d31eee8d6d8842d0853fc9ac817939d4 with Linux) 7.4 または # grep ^menuentry /boot/grub2/grub.cfg | awk -F\' '{print $2}' | nl -v0      0  Oracle Linux Server (4.1.12-94.5.9.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.4      1  Oracle Linux Server (4.1.12-61.1.18.el7uek.x86_64 with Unbreakable Enterprise Kernel) 7.4      2  Oracle Linux Server (3.10.0-693.1.1.el7.x86_64 with Linux) 7.4      3  Oracle Linux Server (3.10.0-514.el7.x86_64 with Linux) 7.4      4  Oracle Linux Server (0-rescue-d31eee8d6d8842d0853fc9ac817939d4 with Linux) 7.4 現在の起動カーネル=0番 # grub2-editenv list saved_entry=0 デフォルトの起動を2番にする(RedHat互換) # grub2-set-default 2 ⇒Oracle Linux Server (3.10.0-693.1.1.el7.x86_64 with Linux) 7.4 確認 # grub2-editenv list saved_entry=2 OSの再起動 RedHat互換カーネルで起動していることを確認 $ uname -a Linux vmdb1016 3.10.0-693.1.1.el7.x86_64 #1 SMP Tue Aug 15 06:03:19 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux  | 
					
便利に使うためのアプリケーションなどインストール・設定
| FTPサーバ | vsftpd.conf | 
| NTPサーバ | ntp.conf | 
| VNCサーバ | |
| iptable | |
| 各種DAEMON | 起動制御 | 
OSアップデート
| 
					 1  | 
						# yum update  | 
					
OracleDBインストール前準備
必要パッケージ・設定ファイルが一度に出来る便利rpm適用
| 
					 1  | 
						yum install oracle-database-server-12cR2-preinstall.x86_64  | 
					
必要パッケージ
上記rpm適用だけではマニュアル掲載のパッケージが入っていないので1つずつ確認しながら足りない物を入れていく。主にi686(必要なのか?)が入っていない。
要求
 binutils-2.20.51.0.2-5.36.el6 (x86_64)
 compat-libcap1-1.10-1 (x86_64)
 compat-libstdc++-33-3.2.3-69.el6 (x86_64)
 compat-libstdc++-33-3.2.3-69.el6 (i686)
 e2fsprogs-1.42.8-1.0.2.el6.x86_64
 e2fsprogs-libs-1.42.8-1.0.2.el6.x86_64
 glibc-2.12-1.7.el6 (i686)
 glibc-2.12-1.7.el6 (x86_64)
 glibc-devel-2.12-1.7.el6 (x86_64)
 glibc-devel-2.12-1.7.el6 (i686)
 ksh
 libgcc-4.4.4-13.el6 (i686)
 libgcc-4.4.4-13.el6 (x86_64)
 libs-1.42.8-1.0.2.el6.x86_64
 libstdc++-4.4.4-13.el6 (x86_64)
 libstdc++-4.4.4-13.el6 (i686)
 libstdc++-devel-4.4.4-13.el6 (x86_64)
 libstdc++-devel-4.4.4-13.el6 (i686)
 libaio-0.3.107-10.el6 (x86_64)
 libaio-0.3.107-10.el6 (i686)
 libaio-devel-0.3.107-10.el6 (x86_64)
 libaio-devel-0.3.107-10.el6 (i686)
 libXtst-1.0.99.2 (x86_64)
 libXtst-1.0.99.2 (i686)
 libX11-1.5.0-4.el6 (i686)
 libX11-1.5.0-4.el6 (x86_64)
 libXau-1.0.6-4.el6 (i686)
 libXau-1.0.6-4.el6 (x86_64)
 libxcb-1.8.1-1.el6 (i686)
 libxcb-1.8.1-1.el6 (x86_64)
 libXi-1.3 (x86_64)
 libXi-1.3 (i686)
 make-3.81-19.el6
 sysstat-9.0.4-11.el6 (x86_64)
 smartmontools-5.43-1.el6.x86_64
カーネルパラメータ確認
oracle-database-server-12cR2-preinstallをインストールしているので以下は自動で設定されていた。
# vi /etc/sysctl.conf
| 要求 | インストール後 | 
| fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 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 kernel.panic_on_oops = 1  | 
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 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 kernel.panic_on_oops = 1  | 
念のためカーネルパラメータの反映をインストールガイド通りに行う
| 
					 1  | 
						# /sbin/sysctl -p  | 
					
OSグループの作成
| 
					 1 2 3 4 5 6 7  | 
						# groupadd -g 54321 oinstall # groupadd -g 54322 dba # groupadd -g 54323 oper # groupadd -g 54324 backupdba # groupadd -g 54325 dgdba # groupadd -g 54326 kmdba # groupadd -g 54327 racdba  | 
					
OracleDatabaseOS用ユーザ作成・パスワード設定
oracle-database-server-12cR2-preinstallでoracleユーザは作成されていたがグループなどの設定はされていないのでインストールガイド通りに進める。
いったんoracleユーザとhomeディレクトリ削除後以下のコマンド
| 
					 1 2  | 
						# useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba -d /home/oracle oracle # passwd oracle  | 
					
インストールディレクトリ準備
| 
					 1 2 3 4  | 
						# mkdir -p /u01/app/oracle # chown oracle:oinstall /u01/app/oracle //oraInventoryが出来ないと怒られたので所有権を以下のとおりにした # chown -R oracle:oinstall /u01 # chmod -R 775 /u01  | 
					
ユーザoracleの環境リソース設定
| 
					 1 2 3 4 5 6 7  | 
						# vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768  | 
					
データベースインストール
ユーザ oracleでrunInstallerを起動
セキュリティ・アップデートの構成 1/9
はい(Y)
インストール・オプション 2/9
データベース・ソフトウエアのみインストールを選択
データベース・インストール・オプションの選択 3/9
単一インスタンス・データベースのインストール を選択
データベース・エディションの選択 4/10
インストール場所の指定5/10
インベントリの作成 6/10
oraInventoryディレクトリを作れないという意味のエラーメッセージ
手順通り行っていますが、自構築環境ではエラーで進めません。
ディレクトリの作成と権限付与をする
| 
					 1 2 3 4  | 
						# pwd /u01/app # mkdir oraInventory # chown -R oracle:oinstall /u01/app/oraInventory  | 
					
権限のあるオペレーティング・システム・グループ7/11
サマリー9/11
製品のインストール 10/11
rootスクリプトの実行
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36  | 
						# /u01/app/oraInventory/orainstRoot.sh 権限を変更中 /u01/app/oraInventory. グループの読取り/書込み権限を追加中。 全ユーザーの読取り/書込み/実行権限を削除中。 グループ名の変更 /u01/app/oraInventory 宛先 oinstall. スクリプトの実行が完了しました。 # /u01/app/oracle/product/12.2.0/dbhome_1/root.sh Performing root user operation. The following environment variables are set as:     ORACLE_OWNER= oracle     ORACLE_HOME=  /u01/app/oracle/product/12.2.0/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]:    Copying dbhome to /usr/local/bin ...    Copying oraenv to /usr/local/bin ...    Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : Oracle Trace File Analyzer (TFA - User Mode) is available at :     /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl OR Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script :     /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh  | 
					
終了 11/11
oracleユーザの環境変数設定
| 
					 1 2 3 4 5 6 7 8  | 
						$ vi .bash_profile #追記 umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LANG=ja_JP.UTF-8 export NLS_LANG=Japanese_Japan.AL32UTF8  | 
					
データベースの作成
Database Configuration Assistant(dbca) の起動
データベース操作の選択 1/14
データベースの作成
データベース作成モードの選択 2/14
拡張構成
データベース・デプロイメント・タイプの選択 3/14
データベースIDの詳細指定 4/14
従来型とするためにコンテナ・データベースのチェックは外す
データベース記憶域オプションの選択 5/14
高速リカバリ・オプションの選択 6/14
ネットワーク構成詳細の指定 7/14
LISTENERをここで作れるはずなのだがポートを使っているというエラーメッセージが出て作ることが出来ない為、ここでは作成せずに進む。
Oracle Data Vault構成オプションの選択 8/15
構成オプションの指定 9/15
キャラクタセット
メモリー
管理オプションの指定 10/15
リスナー構成が、、、はい
データベース作成オプションの選択 12/15
サマリー 13/15
進行状況ページ 14/15
終了 15/15
oracleユーザの環境変数追記
| 
					 1  | 
						export ORACLE_SID=ORCL016  | 
					
LISTENERを構成
インストール途中での新規作成が出来なかったためnetcaでLISTENERを作成する。ここで作成するよりも、データベースをインストールした直後がよかったかも。
やはりポートが使用中とあるがかまわず はい
LISTENERの起動
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29  | 
						$ lsnrctl start LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 17-8月 -2017 14:13:30 Copyright (c) 1991, 2016, Oracle.  All rights reserved. /u01/app/oracle/product/12.2.0/dbhome_1/bin/tnslsnrを起動しています。お待ちくだ さい... TNSLSNR for Linux: Version 12.2.0.1.0 - Production システム・パラメータ・ファイルは/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.oraです。 ログ・メッセージを/u01/app/oracle/diag/tnslsnr/vmdb1016/listener/alert/log.xmlに書き込みました。 リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmdb1016)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vmdb1016)(PORT=1521)))に接続中 リスナーのステータス ------------------------ 別名                      LISTENER バージョン                TNSLSNR for Linux: Version 12.2.0.1.0 - Production 開始日                    17-8月 -2017 14:13:31 稼働時間                  0 日 0 時間 0 分 0 秒 トレース・レベル          off セキュリティ              ON: Local OS Authentication SNMP                      OFF パラメータ・ファイル      /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora ログ・ファイル            /u01/app/oracle/diag/tnslsnr/vmdb1016/listener/alert/log.xml リスニング・エンドポイントのサマリー...   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmdb1016)(PORT=1521))) リスナーはサービスをサポートしていません。 コマンドは正常に終了しました。  | 
					
OEM ORACLE Enterprize Manager
稼働確認
sys SYSDBA権限で
OEMで表領域・ユーザを作成
SQL発行でも当然可能(というかこちらが本流?)ですが、10gのころからOEMで作っているので今回もOEMで作ります。
ユーザログイン環境
ユーザの有効期限を無期限化
デフォルトだと180日間が有効期限。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						$ sqlplus /nolog $ connect /as sysdba 変更前 SQL> select u.username, u.profile, p.resource_name,p.limit   2  from dba_users u, dba_profiles p   3  where u.profile = p.profile and p.resource_name = 'PASSWORD_LIFE_TIME'   4  and u.username='ユーザ名'; USERNAME -------------------------------------------------------------------------------- PROFILE -------------------------------------------------------------------------------- RESOURCE_NAME -------------------------------------------------------------------------------- LIMIT -------------------------------------------------------------------------------- ユーザ名 DEFAULT PASSWORD_LIFE_TIME 180  | 
					
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | 
						変更後 SQL> alter profile DEFAULT limit PASSWORD_LIFE_TIME unlimited; USERNAME -------------------------------------------------------------------------------- PROFILE -------------------------------------------------------------------------------- RESOURCE_NAME -------------------------------------------------------------------------------- LIMIT -------------------------------------------------------------------------------- ユーザ名ユーザ名 DEFAULT PASSWORD_LIFE_TIME UNLIMITED  | 
					
パスワードの大文字小文字区分を撤廃(リスクあり)
| 
					 1 2  | 
						SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; システムが変更されました。  | 
					
これだけでは解決出来ずsqlnet.oraの設定が必要 とても悩んだ箇所。。。。
sqlplusでもログインが出来ない。。。ORA-01017頻発でユーザlockしてしまう。。
| 
					 1 2 3 4 5  | 
						$ sqlplus ユーザ名/パスワード SQL*Plus: Release 12.2.0.1.0 Production on 金 8月 25 11:04:28 2017 Copyright (c) 1982, 2016, Oracle.  All rights reserved. ERROR: ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。  | 
					
ここを見ながら対処 sqlnet.oraは一行だけなのでエディタで作成
| 
					 1 2 3 4 5  | 
						$ pwd /u01/app/oracle/product/12.2.0/dbhome_1/network/admin $ vi sqlnet.ora SQLNET.ALLOWED_LOGON_VERSION_SERVER=11  | 
					
該当ユーザのパスワード再設定
| 
					 1  | 
						SQL> alter user ユーザ名 identified by パスワード;  | 
					
| 
					 1 2 3 4 5 6 7 8  | 
						SQL> select username, password_versions from DBA_USERS where username='ユーザ名'; USERNAME -------------------------------------------------------------------------------- PASSWORD_VERSIONS --------------------------------------------------- ユーザ名 10G 11G 12C  | 
					
接続が出来た
| 
					 1 2 3 4 5 6  | 
						$ sqlplus ユーザ名/パスワード SQL*Plus: Release 12.2.0.1.0 Production on 金 8月 25 11:10:01 2017 Copyright (c) 1982, 2016, Oracle.  All rights reserved. Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production に接続されました。  | 
					
データベース自動起動する
ここが本家の説明
oratabの編集
N⇒Yとする。最初からYで良いと思うが、、
| 
					 1 2  | 
						# vi /etc/oratab ORCL016:/u01/app/oracle/product/12.2.0/dbhome_1:Y  | 
					
自動起動スクリプト
systemdでの公式な解説が無かったので従来のinit.dでの自動起動した。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33  | 
						# vi /etc/init.d/dbora #! /bin/sh # description: Oracle auto start-stop script. # # Set ORACLE_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORACLE_HOME. ORA_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 ORA_OWNER=oracle case "$1" in 'start')      # Start the Oracle databases:     # The following command assumes that the oracle login     # will not prompt the user for any values     # Remove "&" if you don't want startup as a background process.     su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &     touch /var/lock/subsys/dbora     ;; 'stop')     # Stop the Oracle databases:     # The following command assumes that the oracle login     # will not prompt the user for any values     su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &     rm -f /var/lock/subsys/dbora     ;; esac  | 
					
グループと権限
| 
					 1 2  | 
						# chgrp dba dbora # chmod 750 dbora  | 
					
シンボリックリンク作成
| 
					 1 2 3  | 
						# ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K01dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora # ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora  | 
					
dbshut後OS再起動をしてデータベースが起動していることを確認する。
datapump環境設定
ディレクトリ作成
| 
					 1  | 
						# mkdir /dmp_backup  | 
					
OracleDBでのディレクトリ作成
| 
					 1 2 3 4  | 
						SQL> CREATE DIRECTORY DumpDir as '/dmp_backup'; ディレクトリが作成されました。 SQL> CREATE DIRECTORY LogDir as '/dmp_backup'; ディレクトリが作成されました。  | 
					
都度スナップショットを取りながら構築
仮想マシンで構築するときにとても便利なスナップショット。細かく取得しておけば気軽に戻れます。ディスク容量増大となりますが、現環境では問題になりません。

  
  
  
  





















































コメント