「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>ADO.NETデータプロバイダ]]

* 目次 [#f5fbbcd9]
#contents

*概要 [#l01b64fb]
-久々にOracleをインストールしたので手順をメモしておく。
-[[古い、ODP.NETからは、なるべく早く移行したほうが良い>ADO.NETデータプロバイダ#j939b851]]。

*詳細 [#d0ba7c92]

**Oracle11gXEをダウンロードしてインストール [#ub079273]
-Oracle Database Express Edition 11g Release 2のダウンロード~
http://www.oracle.com/technetwork/jp/database/database-technologies/express-edition/downloads/index.html

**SQL Developerダウンロードしてインストール [#e17f4fd9]
-SQL Developerダウンロードしてインストールする。

--Oracle SQL Developer ダウンロード~
http://www.oracle.com/technetwork/jp/developer-tools/sql-developer/downloads/index.html

-システム要件を確認すると、JDK 1.8 以上、~
Windows 10では、JDK 8u51 or higher が必要になる。

--Certification~
http://www.oracle.com/technetwork/developer-tools/sql-developer/certification-096745.html

-必要に応じて、以下から、JDK nunnをダウンロードしてインストールする。

--Java Archive Downloads - Java SE 8~
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

**Oracleを起動してアプリケーションから使うまで。 [#k1805ec5]
***Oracleを起動する。 [#pe62bf8f]
「Start Menu」に「Start Database」が作成されているのでコレを押下する。

***SQL Developerを起動して接続する。 [#w6049665]
接続を追加する。

-接続名:任意
-ユーザー名:system
-パスワード:インストール時に入力したパスワード

-Oracle(既定値のままでイイ)
--接続タイプ:基本
--ロール:デフォルト
--ホスト名:localhost
--ポート:1521
--SID:xe

-参考
--Oracle Databaseへの接続および検索 > SQL DeveloperからOracle Databaseへの接続~
http://docs.oracle.com/cd/E16338_01/appdev.112/b56265/tdddg_connecting.htm#CEGFCEGG

***SQLを発行する(DDLを発行してテーブルを作成する)。 [#r9ca6c77]
-メニューの「SQLワークシート」押下して、作成した接続名を選択する。~
若しくは、上記で開いた接続名(出指定した名称)タブのメニューから「非共有SQLワークシート」を選択。

-開いた「SQLワークシート」タブにSQLを貼り付けてSQLを発行する(DDLを発行してテーブルを作成する)。
--OpenTouryo/TestTable.txt at develop · OpenTouryoProject/OpenTouryo~
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/files/resource/Sql/oracle/TestTable.txt

-作成したテーブルに対してSQLを発行してデータが参照できるかどうか確認する。
#ref(1.png,left,nowrap,作成したテーブルに対してSQLを発行してデータを参照)

***Visual StudioからODP.NET Managed Driverを使用して接続・実行する。 [#y967a038]

-新規作成→プロジェクト→コンソールアプリケーションを作成する。

-NuGetからODP.NET Managed Driverを検索してインストールする。

-以下のコードを記述してデバッグ実行するとレコード件数が返る。~
(接続文字列のアカウントは、systemとインストール時に入力したパスワードなど環境に合わせて変更すること。)

 using Oracle.ManagedDataAccess.Client;
 
 namespace ConsoleApplication1
 {
     class Program
     {
         static void Main(string[] args)
         {
             OracleConnection cn = new OracleConnection("User Id=system;Password=xxxx;Data Source=localhost/XE;");
             cn.Open();
             OracleCommand cmd = new OracleCommand("SELECT COUNT(*) FROM SHIPPERS", cn);
             Console.WriteLine(cmd.ExecuteScalar().ToString());
 
             Console.ReadKey();
         }
     }
 }

**SCOTT/tigerスキーマを作成する。 [#t85841b3]
systemスキーマではクリーンナップなどが面倒なので、scott/tigerスキーマを作成する。

-Oracle 11gの環境で、scott/tigerのサンプルスキーマを作成 | cyberarchitect~
http://replication.hatenablog.com/entry/2015/02/16/093000

***スキーマ作成用のDDLを取得 [#p45b8b93]
-「C:\oraclexe」がインストール・ディレクトリとして、~
以下にSCOTT/tigerスキーマ作成用のDDLを発見できた。
 "C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\utlsampl.sql"

>(utlsmtp.sqlと間違いやすいと思うので注意する。)

-18cの場合は、以下にある。
 "C:\u01\app\product\18.0.0\dbhomeXE\rdbms\admin\utlsampl.sql"

***スキーマ作成用のDDLを実行 [#q13b33ad]
スキーマ作成用のDDLをSQL Developerを使用して実行する。

***スキーマに接続しテーブルを作成する。 [#s8aeadcb]
-[[SQL Developerを起動して接続する。>#w6049665]]に戻って手順を繰り返す。

***スキーマをクリア(リセット)してテーブルを再作成する。 [#e531a335]
-CASCADE付きの「DROP USER」を行うことで、スキーマをクリア(リセット)できる。

--スキーマ作成・削除 (oracle)|淡々たんのメモ~
https://ameblo.jp/tan3/entry-10013104664.html

-前述の"utlsampl.sql"内では、冒頭で、下記のCASCADE付きの「DROP USER」が呼ばれているので、~
再実行すれば、これをクリア(リセット)できる。開発・テストの際に便利。
 DROP USER SCOTT CASCADE;
 DROP USER ADAMS CASCADE;
 DROP USER JONES CASCADE;
 DROP USER CLARK CASCADE;
 DROP USER BLAKE CASCADE;

>注意:「SCOTT/tiger」への接続がある場合、「DROP USER」に失敗するので、~
Oracleを再起動して、systemユーザーから"utlsampl.sql"を再実行する。

-[[SQLを発行する(DDLを発行してテーブルを作成する)。>#r9ca6c77]]に戻って手順を繰り返す。

***ORA-65049: creation of local user or role is not allowed in CDB$ROOT. [#h4d647df]
12c以降ではプラガブル・データベースを使用する必要がある。

-第1回 プラガブル・データベースの作成~
https://www.oracle.com/technetwork/jp/database/articles/jissenn12c/jissen12c-01-2052300-ja.html

上記の手順でPDBを作成した後、utlsampl.sqlを使用して、SCOTT/tigerスキーマ作成する。

**ORA-NNNNN [#t82e1f67]

***ORA-28001: the password has expired. [#o091e2f0]
-11gからデフォルトで、パスワードが180日期限切れになるらしい。
-開発・テスト用途であれば、無期限に指定しておいた方がイイかも。
 alter profile default limit password_life_time unlimited;

-参考
--急にoracleに繋がらなくなった!?~ORA-28001:パスワードが期限切れです~ - Qiita~
https://qiita.com/maruyama42/items/cb3177f8701f1679669a

***ORA-01109: database not open [#u9441c47]
-oracle - How do I resolve this "ORA-01109: database not open" error? - Stack Overflow~
https://stackoverflow.com/questions/27280405/how-do-i-resolve-this-ora-01109-database-not-open-error

*トラブルシューティング [#pc76edb5]
**vendor code (17002) 発生、TNSListenerが起動していない。 [#nb4a83b8]
***ホスト名/IPアドレス変更 [#nedf2059]
-oracleは、ホスト名/IPアドレス変更すると起動しなくなる。
-開発環境なので、oracleのアンインストール・インストールを行った。

***「ORACLE_HOME」環境変数 [#e174f7b8]
-環境変数に「ORACLE_HOME」を追加すると、この現象が発生するらしい。~
(丁度、[[Apache Jmeter]]の調査と動作確認で「ORACLE_HOME」環境変数を追加していた。)

-必要に応じて、「ORACLE_HOME」環境変数を削除する。

*参考 [#ccfb44d7]
-意外と簡単!? Oracle Database 11g Release 2 データベース構築編~
http://www.oracle.com/technetwork/jp/articles/selfstudy-win-11-131931-ja.pdf

-SQL Developerの使い方~ダウンロード、インストール、DB接続、SQL実行~
Oracle オラクルエンジニア通信 - 技術資料、マニュアル、セミナー Blog~
https://blogs.oracle.com/oracle4engineer/sql-developerdbsql

**ODP.NET Managed Driver [#e9bc6e17]

***で、tnsnames.ora を参照する方法 [#gb23d8ca]
-Managed な ODP.NET で tnsnames.ora を参照する (Windows, Visual Studio 2015) - Qiita~
https://qiita.com/monta31538/items/b31382e98ae03f5d9c3c

***が、サポートするOracleバージョン [#wf21ab3c]
Oracleを利用予定ですが、Open棟梁で対応していないバージョン・エディションはある? - Google グループ~
https://groups.google.com/forum/?hl=ja#!topic/opentouryoproject/iDxTplIdWVs

**Express Editionのその後 [#t37c7096]
12cで廃止と言われていたらしいが、18cで復活した模様。

***12c [#oaf70475]
-Oracle XE(Express Edition)は12cで廃止! | Oracle初心者でもスッキリわかる~
https://sql-oracle.com/?p=1738

***18c [#e656f7ab]
-Oracle Database 18c Express Edition がそろそろ出るようです! | DBXAP~
https://dbxap.sixsquare.co.jp/oracle-database-18c-express-edition/

-Oracle Database 18c Express Editionの紹介 - Qiita~
https://qiita.com/nakaie/items/2e383d4916530dce6a4f

-Oracle Database Express Edition 18c のダウンロード~
https://www.oracle.com/technetwork/jp/database/database-technologies/express-edition/downloads/index.html

----
Tags: [[:データアクセス]], [[:ADO.NET]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS