Dの小部屋

忘れやすい私のメモ帳

oracle

Oracle オンライン再定義についての復習

内容 オンライン再定義を学習したはずなのに、思い出せなかったため、メモ。 確認 ▼接続ユーザの確認 SQL> show user ユーザーは"TTT"です。 ▼再定義元のテーブルを作成 SQL> create table t01 ( 2 n number(1) PRIMARY KEY, 3 v varchar2(10) 4 ); 表が作成…

sqlplusで接続情報などを確認する方法 (def)

内容 sqlplusで接続にdefと入力すると、SIDやユーザなどを確認できる。 確認 ▼コマンド SQL> def ▼結果 DEFINE _DATE = "16-09-06" (CHAR) DEFINE _CONNECT_IDENTIFIER = "##SID##" (CHAR) DEFINE _USER = "SYS" (CHAR) DEFINE _PRIVILEGE = "AS SYSDBA" (CH…

【Oracle12Cお勉強】 統合監査を触ってみる

統合監査とは? 12Cからの新機能。 各監査を一つにまとめられる。 SYS.UNIFIED_AUDIT_TRAILに情報が集約される。 デフォルトでは無効。有効化する必要がある。有効化には、インスタンスの停止が必要。 統合監査の有効化 ▼現状確認 $ sqlplus / as sysdba SQL…

Oracleのalert.logを、少し見やすく整形するワンライナー

内容 Oracleのalert.logが、以下のようなフォーマットになっており、日時が分かりにくい。 <日時1> < …情報1… > < …情報2… > < …情報3… > <日時2> < …情報4… > <日時3> < …情報5… > < …情報6… > 分かりやすくするため、以下のフォーマットに整形するコマンド…

【Oracle 12Cのお勉強】テーブルの列を全部非表示列にすることはできるのか?

内容 Oracle 12cで、通常は見えない列「非表示列」という機能が追加された。 テーブルの列を全部非表示列にすることが可能か確認する。 非表示列とは? テーブルの定義には存在するが、通常の操作では見ることができない列。 create table時、列にinvisible…

RAC環境でSID・SERVICE_NAMEを確認

内容 RAC環境で、SID・SERVICE_NAMEを確認する方法をメモする。 確認 LinuxのRAC環境で、データベースのSERVICE名はTEST01とする。 3ノードRACで、それぞれ「test011」「test012」「test013」のSIDが設定されている。 今回はtest011を使用する。 $ env | gr…

【Oracle 12Cのお勉強】DBA_USERSのLAST_LOGIN列を確認

内容 12cよりDBA_USERSにLAST_LOGIN列が追加された。 便利そうなので確認する。 確認 SQL> ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT ='yyyy-mm-dd hh24:mi:ss.ff tzr'; SQL> SELECT USERNAME,LAST_LOGIN FROM DBA_USERS WHERE LAST_LOGIN IS NOT NULL ord…

【Oracle 12Cのお勉強】データベース内アーカイブ

内容 行の表示・非表示を制御できる機能。 "CREATE TABLE"時に"ROW ARCHIVAL"句をつけることで、ORA_ARCHIVE_STATE列が追加され、表示・非表示を制御できるようになる。 検証 ▼表の作成 SQL> create table ttt ( 2 n number(10), 3 v varchar2(10) 4 ) row a…

Oracle ANYDATA型

内容 ANYDATA型という型を初めて知ったのでメモする。 ANYDATA型とは 複数の型(CHAR型やNUMBER型など)のデータを格納することができる型のようだ。 使い方 テーブルの作成 SQL> CREATE TABLE TEST01 ( ADT ANYDATA ); データの格納 SQL> INSERT INTO TEST01 …

【Oracle 12Cのお勉強】varchar2の最大サイズを4000バイト→32767バイトに拡張

内容 12cより、以下の作業を行うことで、varchar2の最大サイズを4000バイトから32767バイトに拡張できる。 ※一度拡張すると、元に戻せないので注意。 初期化パラメータmax_string_sizeをEXTENDに設定。 utl32k.sqlを実行。 検証 ▼初期化パラメータ"max_s…

Oracleで0サイズの表領域は作成できるのか?

できませんでした。 できたら面白かったのに…。 SQL> create tablespace test01 datafile '/u01/app/oracle/oradata/TTT/test01.dbf' size 0; create tablespace test01 datafile '/u01/app/oracle/oradata/TTT/test01.dbf' size 0 * 行1でエラーが発生しま…

【Oracle 12Cのお勉強】PDB・インスタンスをオープン・クローズした時のalertログ

内容 オープン・クローズ時のalertログの挙動確認。 PDBのオープン・クローズでは、大したログは出力されない。 インスタンスの起動、停止は今まで通りにログが大量に出力される。 ※以下に表示しているalterログは、見やすくするため「Wed Aug dd hh:mi:ss y…

【Oracle 12Cのお勉強】コンテナについて

内容 コンテナのお勉強履歴 操作 コンテナ一覧表示 SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 4 PDB2 MOUNTED 43 SQL*Plusを使用し…

Oracle Editions機能についてのメモ

Oracle Editionsとは Oracleオブジェクトのバージョニングを行う機能。 開発などで、一時的にビューやプロシージャの変更をしたい場合に使用する。 変更はエディションという単位で管理する。 Oracle11gR2より導入。 エディションに対応しているスキーマオブ…