Oracle Database 12cR1でデータベースを作成する-簡易版-

リスナー追加したままずっとそのままだったのでデータベース作成を行います。 と、いいつつ今回はデフォルト構成の手順確認のみでデータベース作成はしていません。

ちなみに前回記事はこちらを参照。

www.reclog.net

Database Configuration Assistant

DatabaseConfigurationAssistant

△環境はWindows Server 2012 R2、Oracleは12cR1。 赤枠で囲った物がDatabase Configuration Assistant(DBCA)です。

DBCA1

△起動するとこんな感じの画面が出るのでデータベースの作成が選択されている事を確認して次へ。

デフォルトの構成でデータベースを作成する手順

DBCA2

△作成モードの設定は上記の様に設定。パスワードの警告が出てますが自分で使う分には問題ないので無視します。 コンテナ・データベースは「?」ってなったのでググって調べてみました。

Oracle Database 12c「マルチテナント・コンテナ・データベース」とは | NTTデータ先端技術株式会社

なるほど、今回は要らないのでチェックを外します。 近い内に試しにチェック入れて作ってみるのもいいかも知れない。

DBCA3

△次へで、パスワードの警告が出ますが無視して次に進みます。

DBCA4

△前提条件チェックが行われ、自動的に確認画面に移ります。 ここで終了を選ぶとデータベースの作成が行われます。(たぶん)

拡張モード

前回手順を自分でも忘れてるせいで、手順をすっかり忘れてて参る。 大した手順ではないけれど、デフォルトの構成ではなく拡張モードで作成することにしました。

DBCA拡張モード

△作成モード画面のこれです。 細かい設定とかは次回に回します。

おわりに

やっぱり自由に手順確認しながら作業出来るのは良い。 ブログにこうやって残すことでも、良い自分用の覚書が出来るのは嬉しい。 次回は拡張モードでのデータベース作成方法について書けたら書きます。

*関係ないけどはてなブログが前より使いやすくなってるの凄くイイ

Oracle Databaseのリスナーを追加する

f:id:recrox:20160630215843j:plain

お久しぶりです。 色々と忙しかったせいで土日は寝てたりで全然書いてなかったけど、 またボチボチやっていこうかと思います。

前回記事はこちら。

www.reclog.net

はじめに

タイトルの通り今回はリスナーの追加について。 リスナーはなんとなくクライアントからの接続要求をDBへ通すための物って認識だけど大体合ってるんだろうか。
調べてみたら↓のサイトが分かりやすかった。

OTN Japan - 意外と簡単!? Oracle Database 10g:Windows版 第3章

リスナーとは、Oracle*Netの仕組み リスナーとは、データベースがクライアントからの初期接続要求を受け付けるアプリケーションです。リスナーは、クライアントからの要求を受け取ったあとデータベースへ要求を引き渡します。

深く理解するには↓とかもいいのかも。

Oracle Net Servicesのアーキテクチャ

というわけで、クライアントから接続するためにはリスナーは必須のようなので、 リスナーの構成方法を載せていきたいと思います。

Oracle Net Configuration Assistant

リスナー構成

まずはOracle Net Configuration Assistantを起動。

f:id:recrox:20161225231009j:plain

起動したら一番上のリスナー構成を選択して次へ。

f:id:recrox:20161225231008p:plain

最初に構成を行う場合は、一番上の追加のみ選択可能(なはず)。
※リスナー追加済みの場合は他のラジオボタンも選択出来ます。

f:id:recrox:20161225231002p:plain

リスナー名LISTENERとしておく。

f:id:recrox:20161225231003p:plain

プロトコルの選択TCPのみでOK。

f:id:recrox:20161225231004p:plain

TCP/IPポート番号標準ポートの1521を使用を選択。

f:id:recrox:20161225231005p:plain

他のリスナーを追加するか聞かれるのでいいえを選択。

f:id:recrox:20161225231006p:plain

完了画面が表示されるので次へ。

f:id:recrox:20161225231007p:plain

最初の画面が表示されるので終了を選んで完了。

f:id:recrox:20161225231008p:plain

まとめ

リスナーの構成について、画面の案内の通りに進めるだけでOK。 少し違った事をやろうとすると細かい設定とかもあるんでしょうが、実行環境作るだけならポンポン進めるだけでいいのでは。 いつかここらへんも掘り下げられれば楽しいかも。

次回のOracle関係

データベースの作成について書くつもりです。
といって、また違った事を書くかも。

Oracle Database EE 12cを使用して個人用Oracle勉強環境を無償で構築する(Clientインストール編)

f:id:recrox:20160630215843j:plain

www.reclog.net

こちらの前回記事の続き。

はじめに

前回の記事ではDatabaseのインストールまで行いました。 今回はClientのインストール手順について。

目的

Oracle Database Enterprrise Edition(以後EE) 12cをインストールする。 ※クライアント機にClientををインストール

構成

今回はDatabaseをサーバー役のWindows機(64bit)、Clientをクライアント役のWindows機(64bit)にインストールする。
前回でDatabaseのインストールは済んだので、今回は普段使いのPCへClientをインストール。

インストール手順

クライアント機へClientインストール

Clientのインストールはぶっちゃけ流れにそってやる感じで何も問題はなさ気。
クライアント機でダウンロード&解凍しておいたClientSetup.exeを実行。

f:id:recrox:20160724234005p:plain

インストールタイプは管理者を選択。

f:id:recrox:20160724234006p:plain

言語はDatabase時と同じく、日本語英語が初期設定されていると思うのでそのまま次へ。

f:id:recrox:20160724234007p:plain

またもDatabaseと同じくOracleホーム・ユーザーの指定。
Admin権限を持ってるユーザーを指定しようとしたら以下のような感じで怒られました。 まぁ、説明文に(管理者アカウントではない)と書いてあるし残当。

f:id:recrox:20160724234008p:plain

f:id:recrox:20160724234010p:plain

なので、Databaseの時と同じくWindows組込みアカウントの使用を選択して次へ。 非管理者アカウント作って設定する人は真ん中の新規Windowsユーザーの作成を選びます。
今回は面倒くさかったんでやらない。

f:id:recrox:20160724234011p:plain

インストール場所の指定。
ココらへんの設定はDatabaseの時と同じくちょこっと変更。

f:id:recrox:20160724234012p:plain

前提条件のチェック、じっと待つ。

f:id:recrox:20160724234013p:plain

インストール内容の確認、問題なければインストールをクリック。

f:id:recrox:20160724234014p:plain

インストールの間、じっと待つ。

f:id:recrox:20160724234015p:plain

インストールが完了したらOK。

f:id:recrox:20160724234016p:plain

まとめ

Databaseの時もそうだけど画面に沿ってやるだけ。 ちなみに、まだローカル・ネーミング・パラメータ(tnsnames)の設定が済んでないのでDatabaseには繋がりません。

次回は

サーバーのセットアップかな? DB作らないとお話にならない。

【Oracle】NVL関数で数値から文字列にしようとするとOracleエラーが発生する

自宅PCにOracle無償版入れようか迷う。

サクッとOracleにSQL投げられる環境が欲しいです。
主に動作確認するだけだけど。

タイトルの通り、
数値項目に対してNVL関数を噛ませるとOracleエラーが発生します。
調べてみたら、NVL関数に渡される引数で処理を分けているらしいです。(知らなかった)
下記のリンク先でも書かれていますが、C#やJavaで言うオーバーロードなのかな。

irof.hateblo.jp

ちなみに、
SQLとPL/SQLで発生するエラーが異なります。

SQLの場合
SELECT NVL(123, 'NULLでした') FROM DUAL;

ORA-01722: 数値が無効です。

エラー内容を確認するだけなので、
上記の例ではNVL関数の第一引数に数値を直接渡しています。

PL/SQLの場合
DECLARE
    WK_STR  VARCHAR2(20);
BEGIN
    WK_STR  := NVL(123, 'NULLでした');
END;
/

ORA-06502: PL/SQL: 数値または値のエラー:文字から数値への変換エラー。が発生しました
おわりに

今日はコレで地味に時間がとられた…
単純だからこそメモっとかないとまた引っ掛かりそうなのでメモ。

今日はこの辺で。