知りませんでしたが、Oracle にも時間型(期間型), つまり C# などでいうところの Timespan 型に相当するデータ型があるようです。 ただ C# の Timespan 型と違い、年月の部分と日時分秒の部 […]
VB.NET や C# から Timestamp with time zone 型へのアクセス方法について検討してみます。 まずは公式ドキュメントを参照してみます。 「OracleDataReaderオブジェクトか […]
異なるタイムゾーンにいるそれぞれの Oracle Database に接続されるプログラム間で、時刻をやり取りするにはどうすればよいか?について調べてみました。 前提となるシステム 前提となるシステム構成は下図のよう […]
Windows 7 + Oracle 11gR2 時代のプログラムをリビルドすることなく Windows 10 で動作させたいのですが、ODP.NET の 11.2 は Windows 10 非対応です。そこで Win […]
Oracle の インスタントクライアントのインストールのメモ。バージョンは 11.2 です。 今回は ODP.NET (.NET4系) と SQL*Plus をインストールしてみました。 ODAC112040Xco […]
CentOS 7 minimal に Oracle Database XE 11gR2 をインストールする場合の手順のメモ。 主にここの手順をみて行いましたので、より詳しい解説はそちらへ。 http://www.a […]
結論から書くとこんな感じです。(Windows) type test.sql | sqlplus -s / as sysdba つまり、sql ファイルの内容をパイプで sqlplus に渡してやります。 教科書通 […]
Oracle の表領域の使用量と空き容量を知る方法について、OEMDC(Oracle Enterprise Manager Database Console)や SI Object Browser などのツールを使って […]
Oracle で浮動小数点数を扱いたい場合、BINARY_FLOAT という型があるようです。 create table test ( a BINARY_FLOAT ); 無限大、非数も定義できるようです。 inse […]
Oracle で password という文字列を、秘密鍵 'key12345' で DES で暗号化してみます。 SQL> select 2 rawtohex( 3 dbms_obfuscation_toolkit. […]
データベースサーバーに接続してメンテナンスする場合を考える。 正しく接続すれば目的のサーバーに接続される。しかし正しく接続されなかった場合は・・・? 本来、ホスト名やデータベースサーバーの識別子などはユニークである […]
ODP.NET を使用して MERGE 文を実行したところ、AccessViolationException が発生しました。 原因は不明。また、どんな環境でも再現するかどうかは不明ですが、その環境では再現性があった […]
sqlplus を使っていて、毎回ログインするたびに set linesize 300 とか実行するのが面倒な場合、以下のようにします。 login.sql というファイルを作り、その中に設定を書きます。 設定ファイル […]
一行分の upsert だと merge 使ってもそんなにコード量は削減されないし、ODP.NET を経由した場合に、なにやら謎の例外 (AccessViolationException) が発生するケースがあったので […]
VB.NET で Dapper を使って Oracle に接続してみました。 Dapper というのは .net 用の MicroORM のことです。概要はこちらを。 SELECT の場合(動的オブジェクトで戻しても […]
Oracle で配列型(ARRAY)を試してみました。 作り方は以下。まず create type で型を作ってから、create table でその型を列の型として指定します。 create type VARCHA […]
相関サブクエリーといえば exists 述語ですが。 この exists 述語。ぐぐっても、使用例が概ね複雑(=相関クエリー)で理解が難しかったりするので、メモがてらまとめ。 exists とは 空集合(=∅)か、 […]
これまた Oracle 独特というわけではないですが。先の「Order by 句に Select 文」で相関サブクエリーが出てきたのでちょっと整理がてら。 相関サブクエリーとは、サブクエリー(子クエリー)に親クエリー […]
別に Oracle 独特な話ではないですが… 某 SNS で 「Order By 句に Select 文が書けるのか?」という話題があったので調査。 結論としては「書ける」 たとえば以下のようなコードが書けます。 […]
Windows 上の Oracle でパスワード認証ではなく OS 認証によるユーザーを作るには、以下のようにします。 create user "OPS$PCNAMEUSERNAME" identified by ex […]
ストアドアウトラインによる実行計画の固定のメモ。一応 10g までが対象。(11g からは SPM) 例題として、現在、INDEX UNIQUE SCAN を行う以下の問い合わせがあったとします。 SQL> s […]
SQL*PLUS 上でバインド変数の使い方のメモ。 -- 変数の定義 var A varchar2(10); -- 変数の代入 begin :A := 'X'; end; / -- 変数の使用 select DUMMY […]
以下のようなコードで Powershell で ODP.NET を使用して Oracle にアクセスすることが可能です。 [System.Reflection.Assembly]::LoadWithPartialNam […]
NOARCHIVE モードで運用中(オンライン中)のデータベースを VSS(Volume Shadow Copy)を使用してバックアップを取ってみました。 結論としては、(テストでは)バックアップ開始時点のデータを問 […]
Oracle Database をバックアップするには、以下で表示されるファイルを、Shutdown (Shutdown Transactional) で Database を停止した後に、エキスプローラー等でコピーし […]
Oracle の データベース(インスタンス)の状態は、shutdown, nomount, mount, open の 4 つがありますが、よくこの状態遷移をさせるコマンドをよく忘れるのでメモ。 shutdown 状 […]
SQLPlus を使用していて、たまに文字化けしたメッセージを見ることがありますが。 SQL> startup open ORA-32004: ?????????(????????)??????????????? […]
パーティション表のパーティション・キーを更新する場合、デフォルトでは ORA-14402: パーティション・キー列を更新するとパーティションが変更されます。 とエラーがでますが、これを回避する場合は、 ALTER TA […]
インターバルパーティションなテーブルを作成してみたので、その時のメモ。 -- インターバルパーティションなテーブルを作成 create table INTERVAL_TEST( DTM timestamp primar […]
何かの役に立つ気がするのでメモ。 監査の登録 begin DBMS_FGA.ADD_POLICY( OBJECT_SCHEMA => 'SCOTT', OBJECT_NAME => 'EMP', POLI […]
OEM (Oracle Enterprise Manager) っていろいろ面倒なようなのですが。 ある日突然、IPアドレスもコンピューター名も変更していないのに、立ち上がらなくなったりするのでその時の対策メモ。 […]
以下のコードで、自ホスト名を取得できます。 import java.net.InetAddress; import java.net.UnknownHostException; public class gethost […]
DBCAで新規にデータベースを作成しようとしたら、ORA-00444 が発生して、データベースが作れなくなった。 エラーメッセージがORA-死死死って感じだったので慌てふためいたのだが、なんのことはない、プロセス数の […]
実は昔から悩まされておりましたが、この度解決をみたのでメモ。 なにかといえば、Oracle の SQLPlus で Select して結果を表示させると、表示が乱れることがあるというもの。 具体的には、以下の様な設 […]
ネタ元 http://blogs.wankuma.com/ognac/archive/2009/06/27/176670.aspx http://blogs.wankuma.com/ognac/archive/2009/ […]