米IBMによるRed Hat買収について。Unix/Linux市場では最大手企業に
2018年29日、米IBMによるRed Hat買収が発表されました。
3兆8000億円という過去最高規模での買収劇となり、Linux市場では最大手ともいえるRed Hatの買収の衝撃はIT業界にとって非常に大きなものです。
また、26日はMicrosoftによるGuthubの買収も完了し、大手企業のM&Aによる市場拡大が活発です。
昨年はBrocadeの事業買収もあり、クラウドファーストである企業以外でもインパクトのあるM&Aが発生している状況です。
今回のIBMによるRed Hat買収によってIBMは世界最大手のUnix/Linuxディストリビュータであると共にオープンソース企業となりました。
元々IBMが抱えている「AIX」もPowerアーキテクチャだけではなくIAサーバ向きも存在しております。
独自の「VIOS」を利用した冗長化など特徴のある製品です。
ファイルシステム管理の「LVM」に関しても最初にIBMが開発した技術とあって元々UnixやLinuxの技術には精通しているでしょう。
またIBMは数年前にレノボにPCサーバ事業を売却してハードウェアベンダーからサービス事業やクラウド事業へシフトしています。
もちろん、「System Z」などメインフレーム向け事業はまだ主力製品です。
他にも金融機関に多く採用された「XIV」などを代表としたストレージ製品も健在です。
ですが今回のRed Hat買収は明確なクラウド事業の強化にあるのは言うまでもありません。
Red Hat社の主要製品である「Red Hat Enterprise Linux(RHEL)」はLinux市場では最も有名であると言っても過言ではありません。
商用のLinuxディストリビューションにおいて、「RHEL」を利用するのは少なくとも日本ではスタンダードでしょう。
他にも「Suse Linux」や「Oracle Linux」もありますが、RHELの市場規模とは比較にならないでしょう。
つまりIBMはUnixの主要製品とLinuxの主要製品の両方を手にした形になります。
しかもこれまで書いてきた通り、Linux市場で最も有名ともいえる「RHEL」です。
既存の環境にも非常に多く存在するでしょうし、これからも使われ続けるでしょう。
IBMはAIX以外の選択肢を顧客に提供するとともに、そこから利益を得ることが出来ます。
それまではRed Hatとの協業で得てきた利益を、今度は「自社サービス」として展開出来ます。
そして特筆すべきはRed Hatはオープンソースに対して協力的で非常に貢献度の高い会社でした。
有名ではありますが「CentOS」が代表例と言えるでしょう。
ベンチャー企業などはCentOSを使い商用サービスを展開するほど、無料であるのに商用利用できるのはRed Hatの協力があったからこそです。
また、昨今のように「サブスクリプション」で利益を生み出していく流れの中で「基本機能は無料で使える」の代表例がオープンソースであるとも言えます。
Oracle社がサン・マイクロシステムズを買収した後に「OpenOffice」の開発が芳しくなくなったようにOSSに対する貢献を危惧する人もいると思います。
おそらくRHELが提供する機能やライセンスに関しては変化ないと思います。
また、現在の経営陣でRHEL含めたJBossなどを運営していくようなので、対外的な変化はないでしょう。
MicrosoftやOracleなど独自にサーバOSを抱えていて、同じクラウド事業を推進する企業は様子見するのでしょうがあまり気分の良いものではないかもしれません。
それほどまでにRed Hatが持つ顧客基盤と、RHELというブランドが強いのです。
IBMが提供するRHELというのにもしばらく違和感が付き纏い続けるほどの買収劇でしょう。
ただし、ここで言いたいのはIBM自体は明確な戦略を持って買収しているのでその点は「本気」であるのが良く分かります。
IBMがRed Hatを買収したことを非難したいという事はありません。
パブリッククラウド市場ではやはり「AWS」、「Azure」は先行しているイメージで「IBM Cloud」や「Oracle Cloud」はまだ後ろにいる感覚は否めません。
しかし、ここでRed Hat買収というインパクトの大きい選択を取ってきたのは「本気」でクラウド事業を加速させたいからでしょう。
IBMがRed Hatを買収することで顧客はPowerアーキテクチャやAIX技術に縛られず「RHEL」という選択肢を持つことが出来ます。
つまり、既存RHEL環境からクラウドへ移行したり、オンプレのリプレースであっても「Power」や「AIX」に縛られず、Linuxで最も有名なRHELを選択することも出来ます。
そして、従来はRed Hat社のRHELとして提供していたサービスを「IBMのRHEL」として提供できるのです。
実績も豊富なRHEL製品群であれば技術者も多く導入のしやすさも違います。
もちろんRed Hatには他にもJBossだけではなくOpenStackやAnsibleなどの技術知識も多く存在するでしょう。
このようにIT業界の中でも非常に大きなM&AとなったRed Hat買収劇ですが、今後の動向が気になります。
IBM CloudがAWSやAzureと横並びに選択肢となる日が来るのでしょうか。
私もRHEL環境の設計・構築したこともあれば、IBMの社員とストレージやAIXを導入したこともあります。
非常に思い入れのある両社が一つになるのは違和感しかありませんが、少なくとも衝撃の買収であったのは間違いありません。
と4ヶ月ぶりくらいにブログを更新してみました。
OracleDB 12c R2でプラガブル・データべース操作基礎その弐
前回はプラガブル・データベースに対する共通ロールと共通ユーザの作成とPDBを作成して接続しました。
今回は非CDB環境と同様に、OracleNet経由でPDBへ接続したいと思います。
またSQL Laoderも使いたいと思います。
トピックとしては以下にしたいと思います。
それでは書いていきたいと思います。
まずOracle ClientをOTNからダウンロードして回答しておきます。
Databaseダウンロードの右にある「See All」のリンクからダウンロードできます。
zipを解凍して「setup.exe」を実行します。
正常にインストーラが実行されるとインストール・プロセスに移行します。
「ランタイム」を選択します。
特にユーザは指定せずに次へ進みます。
次もデフォルトで進みます。
インストールチェックが走りますので、問題が無ければ「インストール」をクリックします。
正常にインストールが開始されます。
10分程度時間を置きましょう。
待っている間にtnsnames.oraを書き換えます。
今回は以下の「TESTPDB」へOracle Client経由で接続します。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 TESTPDB READ WRITE YES 5 PDB2 READ WRITE NO SQL>
サーバへ接続してディレクトリを移動します。
[oracle@oracle12c admin]$ cd /u01/app/oracle/product/12.2.0/dbhome/network/admin [oracle@oracle12c admin]$ ls listener.ora samples shrept.lst tnsnames.ora [oracle@oracle12c admin]$
tnsnames.oraの中身を書き換えます。
以下を追加します。
TESTPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle12c)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = testpdb) )
リスナーを確認します。
[oracle@oracle12c admin]$ lsnrctl status LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 05-MAY-2018 16:15:08 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 05-MAY-2018 16:09:48 Uptime 0 days 0 hr. 5 min. 19 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.2.0/dbhome/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oracle12c)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW)) Services Summary... Service "orcl" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclXDB" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclpdb" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "pdb2" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "testpdb" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully [oracle@oracle12c admin]$
正常に「TESTPDB」が見えています。
インストール完了を待ちます。
完了したので以下にtnsnames.oraファイルを配置します。
C:\app\client\[Windowsユーザ名]\product\[Oracleバージョン]\client_2\network\admin
ではルートコンテナへ接続してみます。
正常に接続が出来ました。
次にPDBへ接続します。
tnspingは正常にサービスを認識しています。
では接続しましょう。
と言いたいところではありますが、共通ロールにCONNECT権限があってもユーザにCREATE SESSIONの権限が無いと接続に失敗します。
そこでC##nikaidoユーザへ権限を付与します。
SQL> grant connect to C##nikaido container=all; Grant succeeded. SQL>
では接続します。
共通ユーザで正常にPDBへアクセス出来ました。
これでOracle Clientの動作確認は終了です。
また、SQL Loader用に表を作成します。
次にロードするファイルを用意します。
[oracle@oracle12c admin]$ wc -l sample.csv 10000 sample.csv [oracle@oracle12c admin]$
SQL Loaderの制御ファイルを用意します。
[oracle@oracle12c admin]$ cat ./sample.ctl LOAD DATA CHARACTERSET JA16SJISTILDE INFILE 'sample.csv' BADFILE 'sample.badi' APPEND INTO TABLE USERS ( id, name ) [oracle@oracle12c admin]$
ではSQL Loaderを使用してデータを投入します。
ちなみにOracle特有のダイレクト・パスロードを使用します。
[oracle@oracle12c admin]$ sqlldr C##nikaido/subaru@testpdb control='./sample.ctl' log='./sample.log' direct=true SQL*Loader: Release 12.1.0.2.0 - Production on Sat May 5 22:21:24 2018 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. Path used: Direct Load completed - logical record count 10000. Table USERS: 10000 Rows successfully loaded. Check the log file: ./sample.log for more information about the load.
1万レコードの挿入に1秒もかかりませんでした。
あっぱれですね。
Oracleのダイレクト・パスロードは優秀です。
他にもバルク・ロードも良いですがSQL Loaderを使うのであればダイレクトが良いですね。
PDBを通常のデータベースと同じように操作できるようになったので今回はここまでにしたいと思います。
OracleDB 12c R2でプラガブル・データべース操作基礎その壱
事前に環境構築済みのOracle DB 12cを操作していきます。
今回は12cの機能であるコンテナ・データベースとプラガブル・データベースを操作していきます。
今回の作業内容は以下になります。
- 共有ロールの作成
- 共有ユーザの作成(他記事で作成しましたが再作成)
- プラガブル・データベースの作成
それではまずリスナーとデータベースを起動しておきましょう。
[root@oracle12c ~]# su - oracle 最終ログイン: 2018/03/21 (水) 14:22:50 JST日時 pts/1 [oracle@oracle12c ~]$
[oracle@oracle12c ~]$ lsnrctl start LISTENER LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 07-APR-2018 20:42:19 Copyright (c) 1991, 2014, Oracle. All rights reserved. Starting /u01/app/oracle/product/12.2.0/dbhome/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.1.0.2.0 - Production System parameter file is /u01/app/oracle/product/12.2.0/dbhome/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 07-APR-2018 20:42:21 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.2.0/dbhome/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfully [oracle@oracle12c ~]$
リスナーが正常に起動しました。
ちなみにEM Expressは後日設定します。
簡単なのでここでは使用しないので省略します。
データベースを起動します。
[oracle@oracle12c ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Sat Apr 7 20:44:33 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to an idle instance. SQL>
後々、バックアップ・リストアについて書く予定なので、ついでにアーカイブ・ログモードへ変更します。
インスタンスはマウントモードで起動します。
SQL> startup mount ORACLE instance started. Total System Global Area 1258291200 bytes Fixed Size 2923920 bytes Variable Size 452985456 bytes Database Buffers 788529152 bytes Redo Buffers 13852672 bytes Database mounted. SQL>
アーカイブ・ログモードに変更します。
SQL> alter database archivelog; Database altered. SQL>
変更されたので、データベースをオープンします。
SQL> alter database open; Database altered. SQL>
正常に起動しました。
では早速作業をしたいと思います。
共通ロール作成
まず、共通ロールとは何かと言うと、プラガブル・データベースはそれぞでユーザやロールを作成するとローカルとして扱われるますがCDB上で作成すると、すべてのプラガブル・データベースで使用可能なロールを作成することが出来ます。
また、共通ユーザも後述しますが同じものになります。
CDBルートに接続している事を確認します。
SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL>
それではロールを作成します。
共通ユーザ、共通ロールは接頭辞に「C##」を付けます。
SQL> create role C##cdb_dba; Role created. SQL>
次に権限を付与していきます。
まずは全てのコンテナ・データベースに接続できる権限を付与します。
SQL> grant connect to C##cdb_dba container=all; Grant succeeded. SQL>
共通ユーザの作成
次はユーザを作成します。
C##を付与してcreate文で作成します。
SQL> create user C##nikaido identified by subaru; User created. SQL>
次に権限とロールを付与します。
SQL> grant C##cdb_dba to C##nikaido; Grant succeeded. SQL>
これからデータベースやテーブルを作成するための権限を付与します。
しかし今回はSYSDBA権限でデータベースを作成していきます。
また、プラガブル・データベースへの接続権限の確認のためにコンテナ内のデータベースすべてにアクセスできる権限を付与します。
SQL> grant resource,unlimited tablespace to C##nikaido; Grant succeeded. SQL> SQL> grant set CONTAINER to C##nikaido CONTAINER=ALL; Grant succeeded. SQL>
一度、sqlplusから抜けます。
SQL> quit Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options [oracle@oracle12c ~]$
C##nikaidoユーザで接続してみます。
[oracle@oracle12c ~]$ sqlplus C##nikaido/subaru SQL*Plus: Release 12.1.0.2.0 Production on Sat Apr 7 22:31:00 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> SQL> SQL> SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL>
無事に接続が確認できました。
それではデータベースの作成に入っていきたいと思います。
プラガブル・データベースの作成
一旦、C##nikaidoユーザから切断して、SYSDBAへ権限で接続しなおして下さい。
それでは以下の形で、PDB SEEDからコピーしてプラガブルデータベースを作成します。
SQL> create pluggable database pdb2 admin user pdb2_admin identified by nikaido roles = (dba) file_name_convert = ('/u01/app/oracle/oradata/orcl/pdbseed','/u01/app/oracle/oradata/orcl/pdb2') storage unlimited ; Pluggable database created. SQL>
確認してみると、「MOUNT」モードで正常に作成できています。
他のごみデータは気にしないでくださいね。。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 TESTPDB MOUNTED 5 PDB2 MOUNTED SQL>
ではデータベースをオープンします。
SQL> alter pluggable database PDB2 open; Pluggable database altered. SQL>
オープンしたので接続します。
接続にはAlter文を使います。
SQL> alter session set container=pdb2; Session altered. SQL>
セッションが変更されました。
CDB$ROOTに戻りたい時は、container=CDB$ROOTで戻れます。
SQL> show con_name CON_NAME ------------------------------ PDB2 SQL>
無事に接続が出来ました。
では共通ユーザからはどうでしょうか。
確認のために共通ユーザをもう一つ作成します。
共通ロールのみ付与します。
ちなみに共通ユーザはCDBのみでしか作成できません。
SQL> create user C##test identified by test User created. SQL> grant C##cdb_dba to C##test; Grant succeeded. SQL>
正常に作成できました。
ではそれぞれで接続します。
- C##testユーザの場合
[oracle@oracle12c pdbseed]$ sqlplus C##test/test SQL*Plus: Release 12.1.0.2.0 Production on Sat Apr 7 22:53:21 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> SQL> SQL> alter session set container=pdb2; ERROR: ORA-01031: insufficient privileges SQL>
CDBに接続できましたが、プラガブル・データベースへの接続は失敗しています。
権限不足のエラーが発生しました。
- C##nikaidoユーザの場合
[oracle@oracle12c pdbseed]$ sqlplus C##nikaido/subaru SQL*Plus: Release 12.1.0.2.0 Production on Sat Apr 7 22:54:52 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Last Successful login time: Sat Apr 07 2018 22:47:39 +09:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> SQL> SQL> alter session set container=pdb2; Session altered. SQL>
正常にpdb2に接続が出来ました。
コンテナデータベースへの接続権限だけではなく、コンテナ・データベース全体への接続権限も必要になる事が分かりました。
次回は、tnsnames.oraの修正とOracle Clientからの接続について書いていきたいと思います。
Oracle12cR2をインストールしていく4/4【自宅検証用】
Oracle12cR2をインストールしていくの最後の記事です。
今回はソフトウェアのインストールが完了したサーバで、データベースを構成していきます。
せっかくなので、プラガブルデータベースも構成します。
書く事よりも作業を進めていきましょう。
それでは進めていきます。
データベース作成
まずはリスナーを構成します。
GUI上のoracleユーザで作業をしていきます。
netca
Oracle Net Configuration Assistantが起動します。
Listener Configurationを選択してNEXTで進みます。
AddのままNEXTへ行きます。
とりあえずデフォルトのLISTENERでNEXTへ行きます。
商用環境ではサービス名_listenerなどが多いですね。
次も変えた記憶がないのでTCPで行きます。
Gold試験でも全然気にしたことがありません。。。。
次はポート番号です。
セキュリティ的な要件がないので、デフォルトの1521で行きます。
これは商用環境で変更する事もあります。(11g時代に1度だけ)
最後は他にリスナーを構成するのか確認です。
NOで終了したいと思います。
「Listener configuration complete!」が表示されたらNEXTしてFINISHで完了です。
データベース作成
データベースを作成していきます。
ちなみに先ほどのリスナーですが、先に作らなくてもデータベース作成中に作る事も出来ます。
ですが、Oracle Masterの試験に出てくるのであえてnetcaを使いました。あえてね。
dbca
正常に起動すると以下の画面になります。
「Create Database」でNEXTします。
次の画面では「Advanced Mode」を選択します。
色々いじるので。
「Custom Database」を選択します。
色々いじるので。
グローバルデータベース名とSIDを入力します。
今回はSIDにしている「orcl」にします。
グローバルデータベース名は、SID+ドメイン名であるのがほとんどです。
またコンテナデータベースを構成するので、チェックを入れてPDB名に「orclpdb」と入力します。
次はEnterprise Managerになります。
12c以降では、Cloud Controlという一元管理型と、個別でのExpress(正確にはRACも見れる)に分かれています。
ここでは、Expressをポート番号5500で構成します。
次は、OracleDBで使用するシステムアカウントの設定です。
検証環境なので、下のチェックボックスを選択して全ユーザ共通にします。
次の画面では、割り当てるリスナーを選択します。
こちら事前作成済みの「LISTENER」をチェックします。
画面下部の「Create a New Listener」でも新規作成出来ます。今回はしません。あえてね。
次の画面では特に変更しません。
しかし、高速リカバリ領域は不用意にディスク容量を食うので設定する事は少ないです。
また、ASMを利用する場合はFilesystemでは設定しません。
次はデータベースのオプションです。
そもそも選択肢がないので次へ進みます。
次の画面ですが、「Oracle Database Vault」は構成しません。
管理者権限を管理するオプション製品ですが、監査レベルの高いシステムでは有効ですが検証環境では邪魔なだけです。
また、「Lavel Security」も無効にします。
次はメモリー管理の選択です。
デフォルトは「自動メモリー管理」ですが、ほとんどの現場でRDBとして構成する場合は「共有メモリー管理」にします。
理由はPGAに必要以上にメモリーを割り当てないためです。
DWHなどではキャッシュヒットが期待できないので、PGAを多く割り当てます。
次はそのまま、デフォルトで次へ行きます。
正常に設定が完了するとサマリー画面になります。
内容をチェックして問題なければ「Finish」でデータベースを作成します。
データベースの作成中です。
しばらく時間がかかるのでタバコでも吸いましょう。
…オプション製品のインストールに時間がかかり過ぎて30分ほど経過
ESXの負荷状況を見てみます。
3:50:26pm up 3:13, 445 worlds, 1 VMs, 2 vCPUs; CPU load average: 0.71, 0.76, 0.78 PCPU USED(%): 0.4 127 3.9 6.1 AVG: 34 PCPU UTIL(%): 0.7 85 3.0 5.4 AVG: 23 CORE UTIL(%): 85 8.2 AVG: 46 ID GID NAME NWLD %USED %RUN %SYS %WAIT %VMWAIT 14959 14959 Oracle12cR2_Sin 9 135.60 92.58 0.17 808.94 0.11 19254 19254 esxtop.69572 1 1.80 1.43 0.00 98.77 - 1 1 system 138 0.49 307.32 0.01 13398.61 - 10678 10678 vpxa.67403 24 0.02 0.02 0.00 2400.00 - 5612 5612 hostd.66731 31 0.02 0.02 0.00 3100.00 - 2037 2037 net-lacp.66040 3 0.01 0.01 0.00 300.00 - 19166 19166 sshd.69539 1 0.01 0.01 0.00 100.00 - 5392 5392 rhttpproxy.6669 12 0.01 0.01 0.00 1200.00 - 8 8 helper 130 0.01 0.01 0.00 12999.64 - 2389 2389 nfsgssd.66249 1 0.01 0.01 0.00 100.00 - 3542 3542 ntpd.66460 2 0.00 0.00 0.00 200.00 - 4551 4551 vmware-usbarbit 1 0.00 0.00 0.00 100.00 - 4215 4215 ioFilterVPServe 2 0.00 0.00 0.00 200.00 - 10142 10142 dcbd.67335 1 0.00 0.00 0.00 100.00 - 5184 5184 sdrsInjector.66 1 0.00 0.00 0.00 100.00 - 9 9 drivers 12 0.00 0.00 0.00 1199.99 - 3950 3950 swapobjd.66513 1 0.00 0.00 0.00 100.00 - 5757 5757 storageRM.66753 1 0.00 0.00 0.00 100.00 - 10 10 ft 4 0.00 0.00 0.00 400.00 - 11 11 vmotion 1 0.00 0.00 0.00 100.00 - 531 531 init.65771 1 0.00 0.00 0.00 100.00 - 1055 1055 vmsyslogd.65829 1 0.00 0.00 0.00 100.00 - 1063 1063 vmsyslogd.65830 3 0.00 0.00 0.00 300.00 - 1127 1127 sh.65840 1 0.00 0.00 0.00 100.00 - 1199 1199 vobd.65849 19 0.00 0.00 0.00 1900.00 - 1247 1247 sh.65873 1 0.00 0.00 0.00 100.00 - 1303 1303 vmkeventd.65880 1 0.00 0.00 0.00 100.00 - 1548 1548 vmkdevmgr.65947 1 0.00 0.00 0.00 100.00 -
時折、COREUTILが90%を超えますが常時ではありません。
ただし、Oracleのプロセスは常に上位にあります。
あぁめんどくさいw
ようやく完了しました。
正常終了しております。
データベースの作成が完了したので、次に行きたいと思います。
コンテナデータベースとプラガブルデータベース
それではOracle 12cの新機能であるコンテナデータベースとプラガブルデータベースを見ていきます。
せっかくのマルチテナントアーキテクチャなので、簡単に使ってみましょう。
oracleユーザへスイッチして、DBA権限でデータベースに接続します。
[root@oracle12c network-scripts]# su - oracle
[oracle@oracle12c ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Wed Mar 21 00:52:33 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> SQL>
sysdba権限で接続しました。
ではコンテナデータベースを見ていきましょう。
SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL>
ルートCDBが見えています。
次にpdbを確認します。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO SQL>
PDBの元になるのが「PDB$SEED」です。
プラガブルデータベースを作成する際はPDB$SEEDを利用します。
次はCDBの共通ユーザを作成します。
マルチテナント環境では、すべてのPDBにアクセス権を持つ「共通ユーザ」とPDB単位で有効化される「ローカル・ユーザ」があります。
今回は共有ユーザの作成と、新しいPDBを作成します。
共通ユーザは、ユーザ名の接頭辞として「C##」を付加します。
SQL> CREATE USER C##nikaido IDENTIFIED BY subaru DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp ;
次に権限を付与します。
共通ユーザはCDBでのみ作成できます。
SQL> GRANT CONNECT,RESOURCE TO C##nikaido ; Grant succeeded. SQL>
テスト用のプラガブルデータベースを作成します。
管理者ユーザに「nikaido」を作成します。
共通ユーザとは別のユーザです。
SQL> CREATE PLUGGABLE DATABASE testpdb ADMIN USER nikaido IDENTIFIED BY subaru FILE_NAME_CONVERT=( '/u01/app/oracle/oradata/orcl/pdbseed/temp01.dbf','/u01/app/oracle/oradata/orcl/testpdb/temp_testpdb.dbf', '/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf','/u01/app/oracle/oradata/orcl/testpdb/system_testpdb.dbf', '/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/testpdb/sysaux_testpdb.dbf') Pluggable database created.
作成したPDBを確認します。
MOUNT状態なのでオープンしていきます。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 TESTPDB MOUNTED SQL>
オープンしようとしたら起動中のようで拒否されました。
数秒待つと、Read Writeでオープンになります。
SQL> alter pluggable database TESTPDB open ; Warning: PDB altered with errors.
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 TESTPDB READ WRITE YES SQL>
作成したPDBに接続します。
Alter session文で接続先を変更します。
SQL> alter session set container=testpdb; Session altered. SQL>
CDBに戻る時も同じです。
SQL> alter session set container=CDB$ROOT ; Session altered. SQL>
今回はコンテナデータベースとプラガブルデータベースの確認までです。
共通ユーザの動きや作成などはまた次回にします。
権限付与だけしておきます。
SQL> GRANT CREATE SESSION TO C##nikaido ; Grant succeeded. SQL>
SQL> GRANT SET CONTAINER TO C##nikaido container=ALL; Grant succeeded.
ここまではVMware環境で構成しましたが、OracleVM Boxでも一緒です。
Oracle Masterの学習向けに手順を公開しております。
やはり座学よりも実機、業務で携わっていてもコンテナデータベースを使わない事が多いので、勉強するなら手を動かすことが一番ですね。
Oracle12cR2をインストールしていく3/4【自宅検証用】
今回は3/4という事で、OracleDBをインストールしていきます。
久々のインストールで、少し失敗しました。
その点についても書いていきます。
というか先に書いておきますね。
それでは書いていきます。
ホスト名に_(アンダースコア)がダメだった
本番環境でもあまり気にしていませんでしたが、_(アンダースコア)ってホスト名では禁止文字なんですね。
検証とかで適当に使っていましたが、Oracleにエラーではじかれました。
これは別にOracleだからダメという話ではありません。
使うならハイフンにしましょう。
めんどくさいので、とりあえず今回は以下に修正しました。
[root@oracle12c ~]# hostnamectl set-hostname oracle12c [root@oracle12c ~]# shutdown -r now
Oracleインストール
それではインストール作業をしていきます。
OUIを使うので、oracleユーザでログインします。
以下の通り、xhostのアクセスを許可して、文字化けが面倒なので環境変数LANGを設定します。
[root@oracle12c ~]# xhost + [root@oracle12c ~]# export LANG=C [root@oracle12c ~]# /tmp/database/runInstaller
正常にOUIが起動すると以下のように表示されます。
画面内のチェックを外します。(個人でMOS使える人はいないと思いきや、実は会った事あります)
警告が出ますが、そのままYESで先に行きます・
インストールタイプですが、データベースはDBCAで作成するので、今回はsoftware onlyを選択します。
今回はデータベースはシングル構成なので、1番上を選択します。
RACを構成する場合は、真ん中でRAC One Dodeであれば一番下です。
そのうち、RACも方も書いていきたいと思います。
言語は英語と日本語を選択します。
Englishしかない場合は、Japaneseで探して追加しましょう。
今回はエンタープライズエディションでインストールしています。
SEの人はSEを選択しましょう。
Oracleベースとソフトウェアのインストール先の指定です。
これは本番環境でも変えた事はありません。
前はdbhome_1とか謎に_を付けられていたので修正していましたね。
インベントリディレクトリも変更しません。
そのまま先に行きます。
Oralceの機能で、それぞれOSグループが割り当てられます。
ここは手順通りで問題ありませんが、差分がある場合はOS設定を確認しましょう。
本当なら事前チェックが走りますが、全て正常なのか最終確認画面に来てしまいました。
2/4で書いたカーネルパラメータやリソース制限にミスがあると修正を求められます。
今回はないのでそのままインストールします。
正常にインストールが開始されました。
あとはrootスクリプトを待ちます。
少し待つとrootスクリプトの実行を求められます。
ちなみに私の環境はSSDなのでインストールもめちゃくちゃ早いです。
rootスクリプトを実行していきます。
順番はかならず守りましょう。
[root@oracle12c ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete. [root@oracle12c ~]#
[root@oracle12c ~]# /u01/app/oracle/product/12.2.0/dbhome/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 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. [root@oracle12c ~]#
OKを押すと正常に完了します。
クリーンインストールで安心しましたね。
Oracleの再インストール地獄ほど嫌なものもないですからね。。。
今回はOracleソフトウェアのインストールまでです。
次回はリスナーの作成・データベースの作成・プラガブルデータベースの作成をしたいと思います。
Oracle12cR2をインストールしていく2/4【自宅検証用】
Oracle Linuxインストール後の設定を実施していきます。
OS側の設定ですね。
OSの基本的な設定とOracleをインストールするための設定を記載していきます。
先に書きますが、NTPだけは設定していないので、別の機会に設定したいと思います。
それでは始めていきたいと思います。
OS設定作業
まずは今回は検証なので、GUIからネットワークの設定を実施していきます。
本番環境では、/etc/sysconfig/network-scripts/配下のファイルを直接設定します。
NetworkManagerを使わないとか、そういう制約があるのですがここら辺はOSの記事で書きたいと思います。
ネットワーク設定
以下、有線で【オフ】になっているデバイスをクリックします。
画面の通り、【自動接続】にチェックをいれます。
直接ファイルをいじる場合のonbootですね。
IPv4の設定を実施します。
今回は以下のように設定しました。
ゲートウェイとDNSは、NATしてインタ―ネットに出るためのルータを指定しています。
ESXで構成する場合、ESXのデフォルトゲートもこのルータになります。
IPv6は使う理由がありません。
という事で無効化して完了です。
最後にネットワークサービスをリスタートします。
(chkconfig依存症がようやく解消してきました)
ターミナルソフトの設定
Oracleとは直接関係ないですが、ターミナルソフトではRLoginがお勧めです。
今回構築しているサーバを接続先に登録します。
クリップボードはTeratermなどと同様にコピペを効率化するために以下の設定をすればOKです。
OS基礎設定
それでは接続して確認してみましょう。
ゲートウェイなど間違えていると接続できないので、上手く行かない人は確認しましょう。
ログインしてIPを確認します。
[root@localhost ~]# ip a sh 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:0c:29:70:b9:8a brd ff:ff:ff:ff:ff:ff inet 192.168.11.20/24 brd 192.168.11.255 scope global ens192 valid_lft forever preferred_lft forever inet6 2404:7a80:2c60:be00:20c:29ff:fe70:b98a/64 scope global mngtmpaddr dynamic valid_lft 2591941sec preferred_lft 604741sec inet6 fe80::20c:29ff:fe70:b98a/64 scope link valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN link/ether 52:54:00:5e:1d:06 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500 link/ether 52:54:00:5e:1d:06 brd ff:ff:ff:ff:ff:ff [root@localhost ~]#
正常にIPアドレスが設定できています。
ではサクサクいきます。
ホスト名を設定します。
今回は以下で設定していきます。
[root@localhost ~]# hostnamectl set-hostname oracle12c_single
hostsを書き換えます。
これをしないと、OracleDBのインストールでエラーになります。
[root@localhost ~]# vi /etc/hosts
以下を追加します。
(後々エラーになるので、それも書きます)
192.168.11.20 oracle12c_single oracle12c localhost
次にSELinuxを無効化します。
こいつはアプリケーションなどに影響を与えることもありますが、DMZ上に構築する際は無暗に無効にするのは危険です。
今回は検証用かつNATするので無効化でOKです。
[root@localhost ~]# vi /etc/sysconfig/selinux
# 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 #Disableへ変更する # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
一旦リブートします。
ホスト名やSElinuxの設定反映に再起動が必須です。
[root@localhost ~]# shutdown -r now
ちなみに、VMware toolsを入れてないと思いましたが、ESX6系ではデフォルトで入るようです。
[root@oracle12c_single ~]# ps -ef | grep toolsd root 792 1 0 20:42 ? 00:00:00 /usr/bin/vmtoolsd root 1713 1651 0 20:43 pts/0 00:00:00 grep --color=auto toolsd [root@oracle12c_single ~]#
不要なサービスを停止、自動起動から削除していきます。
Firewalldは先ほどのSELinuxと同じで、DMZ上に出すのであれば止めるのは危険です。
systemctl stop abrtd systemctl disable abrtd systemctl stop abrt-service systemctl disable abrt-service systemctl stop firewalld systemctl disable firewalld systemctl stop avahi-daemon.socket systemctl disable avahi-daemon.socket systemctl stop avahi-daemon systemctl disable avahi-daemon
Oracleインストール用の設定
ここからはOracleインストール用に設定を修正していきます。
まずはカーネルパラメータを設定します。
[root@oracle12c_single ~]# vi /etc/sysctl.conf
以下の値を追記します。
設定理由が知りたければ、手っ取り早いのは設定をせずにOracleのインストールをすれば分かります。(投げやり)
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
以下のコマンドで即時反映です。
[root@oracle12c_single ~]# sysctl -p 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 [root@oracle12c_single ~]#
次はOSのグループを作成します。
Oracle社のドキュメントのコピペですね。
[root@oracle12c_single ~]# groupadd -g 54321 oinstall [root@oracle12c_single ~]# groupadd -g 54322 dba [root@oracle12c_single ~]# groupadd -g 54323 backupdba [root@oracle12c_single ~]# groupadd -g 54324 oper [root@oracle12c_single ~]# groupadd -g 54325 dgdba [root@oracle12c_single ~]# groupadd -g 54326 kmdba [root@oracle12c_single ~]# groupadd -g 54327 asmdba [root@oracle12c_single ~]# groupadd -g 54328 asmoper [root@oracle12c_single ~]# groupadd -g 54329 asmadmin [root@oracle12c_single ~]# groupadd -g 54330 racdba
次に、oracleユーザを作成します。
そしてパスワードも設定します。
useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -d /home/oracle oracle
[root@oracle12c_single ~]# passwd oracle ユーザー oracle のパスワードを変更。 新しいパスワード: よくないパスワード: このパスワードには一部に何らかの形でユーザー名が含まれています。 新しいパスワードを再入力してください: passwd: すべての認証トークンが正しく更新できました。 [root@oracle12c_single ~]#
Oracle用のディレクトリを作成します。
漏れなく権限も変更します。
[root@oracle12c_single ~]# mkdir -p /u01/app/oracle [root@oracle12c_single ~]# chown -R oracle:oinstall /u01
次はリソース制限を修正します。
これはOracleに限らず使う事が多い設定です。
[root@oracle12c_single ~]# 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 Linuxのメディアをマウントしましょう。
また、rpmで不要なパッケージを入れないようにするのがSIerのやり方ですが、かなり非効率なのでyumでいきます。
最初に、メディアのリポジトリを作成します。
[root@dns ~]# cat /etc/yum.repos.d/dvd.repo [dvd] name=dvd baseurl='file:///run/media/root/OL-7.4 Server.x86_64/' gpcheck=0 enabled=0 gpgkey=file:'///run/media/root/OL-7.4 Server.x86_64/RPM-GPG-KEY-oracle'
作成したdvdリポジトリを指定して、パッケージを入れていきます。
最初なのでログも含めて全文載せます。
[root@oracle12c_single Packages]# yum --disablerepo=* --enablerepo=dvd install kernel-devel libstdc++-devel -y 読み込んだプラグイン:langpacks, ulninfo dvd | 3.6 kB 00:00:00 (1/2): dvd/group_gz | 136 kB 00:00:00 (2/2): dvd/primary_db | 4.7 MB 00:00:00 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ kernel-devel.x86_64 0:3.10.0-693.el7 を インストール ---> パッケージ libstdc++-devel.x86_64 0:4.8.5-16.el7 を インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================================================== インストール中: kernel-devel x86_64 3.10.0-693.el7 dvd 14 M libstdc++-devel x86_64 4.8.5-16.el7 dvd 1.5 M トランザクションの要約 ================================================================================================================== インストール 2 パッケージ 総ダウンロード容量: 16 M インストール容量: 44 M Downloading packages: 警告: /run/media/root/OL-7.4 Server.x86_64/Packages/kernel-devel-3.10.0-693.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID ec551f03: NOKEY kernel-devel-3.10.0-693.el7.x86_64.rpm の公開鍵がインストールされていません ------------------------------------------------------------------------------------------------------------------ 合計 48 MB/s | 16 MB 00:00:00 file:///run/media/root/OL-7.4%20Server.x86_64/RPM-GPG-KEY-oracle から鍵を取得中です。 Importing GPG key 0xEC551F03: Userid : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>" Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03 From : /run/media/root/OL-7.4%20Server.x86_64/RPM-GPG-KEY-oracle Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : libstdc++-devel-4.8.5-16.el7.x86_64 1/2 インストール中 : kernel-devel-3.10.0-693.el7.x86_64 2/2 検証中 : kernel-devel-3.10.0-693.el7.x86_64 1/2 検証中 : libstdc++-devel-4.8.5-16.el7.x86_64 2/2 インストール: kernel-devel.x86_64 0:3.10.0-693.el7 libstdc++-devel.x86_64 0:4.8.5-16.el7 完了しました! [root@oracle12c_single Packages]#
成功したら、他に必要なパッケージも全て入れています。
ログは長いだけの無用の長物なので省略します。
[root@oracle12c_single Packages]# yum --disablerepo=* --enablerepo=dvd install compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel -y
最後に、OracleLinuxのPackageディレクトリへ移動して以下のファイルをインストールします。
これ、CentOSなどではファイルで持ってこないと取得できないので要注意です。
[root@oracle12c_single ]#cd /run/media/root/OL-7.4\ Server.x86_64/Packages/ [root@oracle12c_single Packages]# rpm -Uvh oracle-database-server-12cR2-preinstall-1.0-3.el7.x86_64.rpm 準備しています... ################################# [100%] 更新中 / インストール中... 1:oracle-database-server-12cR2-prei################################# [100%] [root@oracle12c_single Packages]#
Oracleインストール準備
ここまで来たらあとはインストール作業です。
ですが、その前に環境変数を設定しておきます。
oracleユーザへスイッチします。
[root@oracle12c_single ~]# su - oracle
ログイン時のデフォルト環境変数を変えるためにbash_profileを編集します。
[oracle@oracle12c_single ~]$ vi .bash_profile
以下に設定します。
SIDはそれぞれの環境に合わせて変えましょう。
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs stty erase ^H NLS_LANG=American_Japan.JA16EUCTILDE ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome ORACLE_SID=orcl LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin export NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH export PATH
終わったらrootに戻ってOracleのファイルを/tmpに持ってきます。
以下、RLoginのSFTP機能を使っています。
正常にコピーが完了しました。
[root@oracle12c_single ~]# cd /tmp [root@oracle12c_single tmp]# ls -ltr linuxamd64_12102_database_* -rw-r--r-- 1 root root 1673544724 11月 20 2016 linuxamd64_12102_database_1of2.zip -rw-r--r-- 1 root root 1014530602 11月 20 2016 linuxamd64_12102_database_2of2.zip
ファイルを解凍しますが、ログは長いので省略します。
そして解凍したディレクトリにoracleユーザへアクセス権を付与します。
[root@oracle12c_single tmp]# unzip linuxamd64_12102_database_1of2.zip [root@oracle12c_single tmp]# unzip linuxamd64_12102_database_2of2.zip [root@oracle12c_single tmp]# chown -R oracle:oinstall database/
今回はここまでです。
OSの設定が完了したので後はインストールのみです。
しかし、問題も発生したので、それも書いていきたいと思います。
Oracle12cR2をインストールしていく1/4【自宅検証用】
Oracle 18cのリリースが発表されているので、おさらいにOracle12cをシングルで構成します。
環境はVMware ESX 6.5評価版を構成しています。
プライベートクラウドについては構成について疑問があれば別途説明したいと思います。
また、既に構成済みのRACもあるので今度紹介していきたいと思います。
今回やっていく事は以下です。
- Oracleインストール用の設定を実施
- Oracleインストール
- コンテナデータベースの確認
まず、OSですがOralceLinuxは無償で入手が可能です。
Oracleでプロファイルを作成すれば誰でも入手可能です。
Oracle Software Delivery Cloudからダウンロードします。
全ファイルをダウンロードすると14.5GBにもなるので、以下の画面の通り必要なISOファイルだけダウンロードします。
ダウンロードが完了したら作業を開始していきます。
Oracle Databaseについてもダウンロードしておくことをお勧めします。
OTNライセンスがあるので、開発・個人学習ではEE版の機能も無償で使用する事が可能です。
OSインストール
スペックは以下の通りになります。
業務利用するには物足りないスペックですが、検証用とであればメモリは4GB、HDDは50GBで十分です。
- vコア:2
- メモリ:4GB
- ストレージ:sda-50GB
ESXから一応スペックを載せておきます。
(ネットワークがInterconnect LAN(RAC用)になっていますが、VM Networkに変更しています。)
では作業を開始していきます。
まずはVMRCを起動してOSメディアをマウントしてインストールしていきます。
【起動時にBIOSへ接続】に必ずチェックを入れましょう。
次にBoot設定の優先順位をHard Driveを上位に設定します。
あとは、BIOS画面のうちにメディアを接続しておきましょう。
VMRCでは画面右上のディスクマークを右クリックすれば接続できます。
正常にメディアにマウントされるとインストール画面になります。
【Install Oracle Linux 7.4】を選択します。
言語設定は日本語で設定していきます。
【Japanese】で検索すると簡単に出てきます。
各種設定画面に入ります。
まずは【ソフトウェアの選択】について設定を変更していきます。
今回はOUIを使用してOracleDBをインストールしていく予定です。
なので、【GUIサーバー】を選択します。
その他のソフトについてはインストール時は特に指定をしません。
次にkdumpを無効にします。
検証のためメモリをフルに活用するためです。
最後にディスクのパーティション設定です。
今回はsdaのみ50GBで構成します。
特別パーティションは設定しません。
しかし、tmp領域やSwapが不足する場合は後からfdiskで調整したいと思います。
パーティション構成を完了にすればインストールプロセスに進めます。
rootパスワードやユーザ作成は必要に応じて実施しましょう。
インストールが完了したら、メディアをアンマウントして再起動を実施しましょう。
インストール完了後
ライセンスの承諾やOSユーザの作成・タイムゾーンの指定があります。
基本的に全て適当で問題ありません。(検証だから)
インストール作業はここまでで終了です。
次はOSの設定を実施していきます。