北アラバ公国

UNIX、ORACLE、NETWORK等、IT、情報通信に関する話題と技術メモ。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Oracleの一次表領域を拡張する方法(2)

Oracle一次表領域拡張する方法には、

(1)一次表領域のデータファイルをリサイズalter database文)
(2)一次表領域にデータファイルを追加alter tablespace文)

の2つの方法があります。この記事では、

(2)一次表領域にデータファイルを追加alter tablespace文)

について記述します。まずは一次表領域の状態を確認します。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column TABLESPACE_NAME format a20
SQL> column CONTENTS format a20
SQL> select TABLESPACE_NAME,CONTENTS from dba_tablespaces
2 where CONTENTS='TEMPORARY';

TABLESPACE_NAME CONTENTS
-------------------- --------------------
TEMP TEMPORARY

SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_temp_files;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF TEMP 25

SQL>
一応、ファイルシステム上のデータファイルのサイズも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP*.*
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は 6CC4-CA04 です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/09/11 03:04 26,222,592 TEMP01.DBF
1 個のファイル 26,222,592 バイト
0 個のディレクトリ 718,585,856 バイトの空き領域

SQL>
上記の結果から、現在、一次表領域は表領域「TEMP」であり、一次表領域「TEMP」はデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF」によって構成され、そのサイズは「25MB」であることが分かります。では、「alter tablespace」文を使って一次表領域「TEMP」に「25MB」のデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF」を追加し、一次表領域「TEMP」を「50MB」に拡張してみます。
SQL> alter tablespace TEMP add tempfile
2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF'
3 size 25M;

表領域が変更されました。

SQL>
これでデータファイルが追加され、一次表領域「TEMP」のサイズも拡張されているはずです。確認してみましょう。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_temp_files;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF TEMP 25
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF TEMP 25

SQL> set linesize 120
SQL> set pagesize 50
SQL> column 表領域名 format a10
SQL> column Size(MB) format 999,999
SQL> select TABLESPACE_NAME "表領域名",
2 sum(BYTES)/1024/1024 "Size(MB)"
3 from dba_temp_files
4 group by TABLESPACE_NAME;

表領域名 Size(MB)
---------- --------
TEMP 50

SQL>
一応、ファイルシステム上のデータファイルのサイズも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP*.*
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/09/11 03:04 26,222,592 TEMP01.DBF
2009/09/11 03:16 26,222,592 TEMP02.DBF
2 個のファイル 52,445,184 バイト
0 個のディレクトリ 692,363,264 バイトの空き領域

SQL>
25MB」のデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF」が追加され、一次表領域「TEMP」のサイズが「50MB」に拡張されました。

スポンサーサイト

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/11(金) 03:23:03|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

Oracleの一次表領域を拡張する方法(1)

Oracle一次表領域を拡張する方法には、

(1)一次表領域のデータファイルをリサイズalter database文)
(2)一次表領域にデータファイルを追加alter tablespace文)

の2つの方法があります。この記事では、

(1)一次表領域のデータファイルをリサイズalter database文)

について記述します。まずは一次表領域の状態を確認します。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column TABLESPACE_NAME format a20
SQL> column CONTENTS format a20
SQL> select TABLESPACE_NAME,CONTENTS from dba_tablespaces
2 where CONTENTS='TEMPORARY';

TABLESPACE_NAME CONTENTS
-------------------- --------------------
TEMP TEMPORARY

SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_temp_files;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF TEMP 20

SQL>
一応、ファイルシステム上のデータファイルのサイズも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP*.*
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/09/10 22:03 20,979,712 TEMP01.DBF
1 個のファイル 20,979,712 バイト
0 個のディレクトリ 727,232,512 バイトの空き領域

SQL>
上記の結果から、現在、一次表領域は表領域「TEMP」であり、一次表領域「TEMP」はデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF」によって構成され、そのサイズは「20MB」であることが分かります。では、「alter database」文を使ってデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF」のサイズを「25MB」にリサイズ(拡張)して、一次表領域「TEMP」を「25MB」に拡張してみます。
SQL> alter database tempfile
2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF'
3 resize 25M;

データベースが変更されました。

SQL>
これでデータファイルのサイズが「25MB」にリサイズ(拡張)され、一次表領域「TEMP」のサイズも拡張されているはずです。確認してみましょう。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_temp_files;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF TEMP 25

SQL>
一応、ファイルシステム上のデータファイルのサイズも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP*.*
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/09/11 03:04 26,222,592 TEMP01.DBF
1 個のファイル 26,222,592 バイト
0 個のディレクトリ 720,486,400 バイトの空き領域

SQL>
データファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF」のサイズが「25MB」にリサイズ(拡張)され、一次表領域「TEMP」のサイズが「25MB」に拡張されました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/11(金) 03:10:25|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

Oracleの表領域を拡張する方法(2)

Oracle表領域を拡張する方法には、

(1)表領域データファイルをリサイズalter database文)
(2)表領域データファイルを追加alter tablespace文)

の2つの方法があります。この記事では、

(2)表領域データファイルを追加alter tablespace文)

について記述します。まずは表領域の状態を確認します。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_data_files;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF USERS 10
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF SYSAUX 290
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF UNDOTBS1 35
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF SYSTEM 490
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF EXAMPLE 100

SQL>
一応、ファイルシステム上のデータファイルも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/04/29 15:40 <DIR> .
2009/04/29 15:40 <DIR> ..
2009/09/10 11:50 7,061,504 CONTROL01.CTL
2009/09/10 11:50 7,061,504 CONTROL02.CTL
2009/09/10 11:50 7,061,504 CONTROL03.CTL
2009/09/10 03:08 104,865,792 EXAMPLE01.DBF
2009/09/10 03:08 33,554,944 REDO01.LOG
2009/09/10 03:08 33,554,944 REDO02.LOG
2009/09/10 03:08 33,554,944 REDO03.LOG
2009/09/10 22:00 304,095,232 SYSAUX01.DBF
2009/09/10 03:08 513,810,432 SYSTEM01.DBF
2009/09/10 22:03 20,979,712 TEMP01.DBF
2009/09/10 03:08 36,708,352 UNDOTBS01.DBF
2009/09/11 01:45 10,493,952 USERS01.DBF
12 個のファイル 1,112,802,816 バイト
2 個のディレクトリ 723,406,848 バイトの空き領域

SQL>
上記の結果から、現在、表領域「USERS」はデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF」によって構成され、そのサイズは「10MB」であることが分かります。では、「alter tablespace」文を使って表領域「USERS」に「10MB」のデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF」を追加し、表領域「USERS」を「20MB」に拡張してみます。
SQL> alter tablespace USERS add datafile
2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'
3 size 10M;

表領域が変更されました。

SQL>
これでデータファイルが追加され、表領域「USERS」のサイズも拡張されているはずです。確認してみましょう。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_data_files
3 order by 表領域名;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF EXAMPLE 100
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF SYSAUX 290
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF SYSTEM 490
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF UNDOTBS1 35
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF USERS 10
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF USERS 10

6行が選択されました。

SQL> set linesize 120
SQL> set pagesize 50
SQL> column 表領域名 format a10
SQL> column Size(MB) format 999,999
SQL> select TABLESPACE_NAME "表領域名",
2 sum(BYTES)/1024/1024 "Size(MB)"
3 from dba_data_files
4 group by TABLESPACE_NAME;

表領域名 Size(MB)
---------- --------
SYSAUX 290
UNDOTBS1 35
USERS 20
SYSTEM 490
EXAMPLE 100

SQL>
一応、ファイルシステム上のデータファイルも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/04/29 15:40 <DIR> .
2009/04/29 15:40 <DIR> ..
2009/09/10 11:50 7,061,504 CONTROL01.CTL
2009/09/10 11:50 7,061,504 CONTROL02.CTL
2009/09/10 11:50 7,061,504 CONTROL03.CTL
2009/09/10 03:08 104,865,792 EXAMPLE01.DBF
2009/09/10 03:08 33,554,944 REDO01.LOG
2009/09/10 03:08 33,554,944 REDO02.LOG
2009/09/10 03:08 33,554,944 REDO03.LOG
2009/09/10 22:00 304,095,232 SYSAUX01.DBF
2009/09/10 03:08 513,810,432 SYSTEM01.DBF
2009/09/10 22:03 20,979,712 TEMP01.DBF
2009/09/10 03:08 36,708,352 UNDOTBS01.DBF
2009/09/11 01:45 10,493,952 USERS01.DBF
12 個のファイル 1,112,802,816 バイト
2 個のディレクトリ 723,443,712 バイトの空き領域

SQL>
10MB」のデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF」が追加され、表領域「USERS」のサイズが「20MB」に拡張されました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/11(金) 02:30:08|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

Oracleの表領域を拡張する方法(1)

Oracle表領域を拡張する方法には、

(1)表領域データファイルをリサイズ(alter database文)
(2)表領域データファイルを追加(alter tablespace文)

の2つの方法があります。この記事では、

(1)表領域データファイルをリサイズ(alter database文)

について記述します。まずは表領域の状態を確認します。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_data_files;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF USERS 5
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF SYSAUX 290
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF UNDOTBS1 35
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF SYSTEM 490
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF EXAMPLE 100

SQL>
一応、ファイルシステム上のデータファイルのサイズも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/04/29 15:40 <DIR> .
2009/04/29 15:40 <DIR> ..
2009/09/10 11:50 7,061,504 CONTROL01.CTL
2009/09/10 11:50 7,061,504 CONTROL02.CTL
2009/09/10 11:50 7,061,504 CONTROL03.CTL
2009/09/10 03:08 104,865,792 EXAMPLE01.DBF
2009/09/10 03:08 33,554,944 REDO01.LOG
2009/09/10 03:08 33,554,944 REDO02.LOG
2009/09/10 03:08 33,554,944 REDO03.LOG
2009/09/10 22:00 304,095,232 SYSAUX01.DBF
2009/09/10 03:08 513,810,432 SYSTEM01.DBF
2009/09/10 22:03 20,979,712 TEMP01.DBF
2009/09/10 03:08 36,708,352 UNDOTBS01.DBF
2009/09/10 03:08 5,251,072 USERS01.DBF
12 個のファイル 1,107,559,936 バイト
2 個のディレクトリ 731,873,280 バイトの空き領域

SQL>
上記の結果から、現在、表領域「USERS」はデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF」によって構成され、そのサイズは「5MB」であることが分かります。では、「alter database」文を使ってデータファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF」のサイズを「10MB」にリサイズ(拡張)して、表領域「USERS」を「10MB」に拡張してみます。
SQL> alter database datafile
2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF'
3 resize 10M;

データベースが変更されました。

SQL>
これでデータファイルのサイズが「10MB」にリサイズ(拡張)され、表領域「USERS」のサイズも拡張されているはずです。確認してみましょう。
SQL> set linesize 120
SQL> set pagesize 50
SQL> column ファイル名 format a53
SQL> column 表領域名 format a8
SQL> column Size(MB) format 999,999
SQL> select FILE_NAME "ファイル名",TABLESPACE_NAME "表領域名",
2 BYTES/1024/1024 "Size(MB)" from dba_data_files;

ファイル名 表領域名 Size(MB)
----------------------------------------------------- -------- --------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF USERS 10
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF SYSAUX 290
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF UNDOTBS1 35
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF SYSTEM 490
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF EXAMPLE 100

SQL>
一応、ファイルシステム上のデータファイルのサイズも確認しておきます。
SQL> host dir C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL
ドライブ C のボリューム ラベルは IDE-1-1 です
ボリューム シリアル番号は ****-**** です

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL のディレクトリ

2009/04/29 15:40 <DIR> .
2009/04/29 15:40 <DIR> ..
2009/09/10 11:50 7,061,504 CONTROL01.CTL
2009/09/10 11:50 7,061,504 CONTROL02.CTL
2009/09/10 11:50 7,061,504 CONTROL03.CTL
2009/09/10 03:08 104,865,792 EXAMPLE01.DBF
2009/09/10 03:08 33,554,944 REDO01.LOG
2009/09/10 03:08 33,554,944 REDO02.LOG
2009/09/10 03:08 33,554,944 REDO03.LOG
2009/09/10 22:00 304,095,232 SYSAUX01.DBF
2009/09/10 03:08 513,810,432 SYSTEM01.DBF
2009/09/10 22:03 20,979,712 TEMP01.DBF
2009/09/10 03:08 36,708,352 UNDOTBS01.DBF
2009/09/11 01:45 10,493,952 USERS01.DBF
12 個のファイル 1,112,802,816 バイト
2 個のディレクトリ 723,443,712 バイトの空き領域

SQL>
データファイル「C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF」のサイズが「10MB」にリサイズ(拡張)され、表領域「USERS」のサイズが「10MB」に拡張されました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/11(金) 02:24:01|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

SQL*PlusでOracleデータベースとの接続を切断する方法

SQL*PlusでOracleデータベースに接続している時に「exitコマンドまたは「quitコマンドを実行すると、Oracleデータベースとの接続を切断すると共に、SQL*Plusも終了してしまいます。
C:\temp>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 木 9月 10 02:26:37 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。

C:\temp>
SQL*Plusを終了することなく、Oracleデータベースとの接続だけを切断したい場合は、「disconnectコマンドを使います。以下に私の環境での実行例を示します(Oracle Database 10g Release 2 for Windows 32bit)。
C:\temp>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 火 9月 8 23:42:59 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> disconnect
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
SQL>
SQL*Plusは起動したままOracleデータベースとの接続が切断されました。「disconnectコマンドは「disconn」と省略しても実行可能です。
C:\temp>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 木 9月 10 02:31:12 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> disconn
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
SQL>
また、「disconnectコマンドでOracleデータベースとの接続を切断した後、再度Oracleデータベースに接続する場合は「connectコマンドを使います。以下に実行例を示します。
C:\temp>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 木 9月 10 02:35:27 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> disconnect
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
SQL> connect / as sysdba
接続されました。
SQL>
再度Oracleデータベースに接続されました。では、最後に、「disconnect」コマンドでOracleデータベースとの接続を切断して、「exit」コマンドまたは「quit」コマンドでSQL*Plusを終了します。
SQL> disconnect
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
SQL> exit

C:\temp>
SQL*Plusが終了しました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/10(木) 03:00:22|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

SQL*PlusのプロンプトからOracleデータベースに接続する方法

SQL*PlusをOracleデータベース接続せずに起動した後、SQL*PlusのプロンプトからOracleデータベース接続する場合は「connectコマンドを使います。以下に私の環境での実行例を示します(Oracle Database 10g Release 2 for Windows 32bit)。
C:\temp>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 木 9月 10 01:49:57 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> connect / as sysdba
接続されました。
SQL> show user
ユーザーは"SYS"です。
SQL> select name from v$database;

NAME
------------------
ORCL

SQL> select instance_name from v$instance;

INSTANCE_NAME
--------------------------------
orcl

SQL>
Oracleデータベース接続されました。なお、「connectコマンドは「conn」と省略しても実行可能です。以下に実行例を示します。
C:\temp>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 木 9月 10 02:09:20 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn / as sysdba
接続されました。
SQL> show user
ユーザーは"SYS"です。
SQL> select name from v$database;

NAME
------------------
ORCL

SQL> select instance_name from v$instance;

INSTANCE_NAME
--------------------------------
orcl

SQL>
Oracleデータベース接続されました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/10(木) 02:48:00|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

Oracleデータベースに接続せずにSQL*Plusを起動する方法

通常、SQL*Plusを起動する時には、以下のようにデータベース接続に必要な文字列を付加してSQL*Plusの起動と同時にOracleデータベースに接続していると思います。
C:\temp>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 木 9月 10 01:48:52 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.



Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
に接続されました。
SQL> show user
ユーザーは"SYS"です。
SQL> select name from v$database;

NAME
------------------
ORCL

SQL> select instance_name from v$instance;

INSTANCE_NAME
--------------------------------
orcl

SQL>
確かにOracleデータベースに接続されております。しかし、Oracleデータベースに接続することなく、SQL*Plusのみ単独で起動することも出来ます。SQL*Plusを起動する時に「/nolog」オプションを付加して起動すると、Oracleデータベースに接続せずにSQL*Plusのみ起動することが出来ます。以下に私の環境での実行例を示します(Oracle Database 10g Release 2 for Windows 32bit)。
C:\temp>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 木 9月 10 01:49:57 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> show user
ユーザーは""です。
SQL> select name from v$database;
SP2-0640: 接続されていません。
SQL> select instance_name from v$instance;
SP2-0640: 接続されていません。
SQL>
SQL*Plusは起動していますが、Oracleデータベースへの問い合わせに失敗しております。確かにデータベースに接続することなく、SQL*Plusのみ単独で起動しました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/10(木) 02:41:12|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

OracleのSQL*PlusでSQLの実行結果をページ毎に一時停止して表示する方法

OracleSQL*Plusなどで、select文を実行した時の実行結果を1ページ毎に一時停止して表示したい場合は、SQL*Plusのプロンプトから「set pauseコマンドを実行します。以下に私の環境での実行結果を示します。

1.select文を実行
SQL> set pagesize 10
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
上記の場合、行頭で「set pagesize 10」を実行している通り、1ページは10行に設定されております。そのため実行結果は1ページ(10行)毎にヘッダー(タイトル行)が入っております。しかし現在は上記SQLを実行すると、ページの区切りに関係なく一気に全ての実行結果を表示します。

2.「set pause on」コマンドを実行
SQL> set pause on
SQL>
set pause onコマンドを実行すると、1ページ毎、「set pagesizeコマンドで指定された1ページの行数毎に一時停止して実行結果を表示します。

3.select文を実行
SQL> set pause on
SQL> set pagesize 10
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

ここで一旦表示が一時停止します。エンターキー(改行キー)を押下すると次のページを表示します。
OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

ここで一旦表示が一時停止します。エンターキー(改行キー)を押下すると次のページを表示します。
OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

ここで一旦表示が一時停止します。エンターキー(改行キー)を押下すると次のページを表示します。
OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
このように、「set pause onコマンドを実行すると、1ページ毎、「set pagesize コマンドで指定された1ページの行数毎に一時停止して実行結果を表示するようになります。

4.「set pause off」コマンドを実行
SQL> set pause off
SQL>
これでページ毎の一時停止表示が解除されます。

5.select文を実行
SQL> set pagesize 10
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
最初と同じように実行結果がページ毎に一時停止することなく、一気に表示されるようになりました。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/07(月) 23:17:38|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

OracleのSQL*Plusで表示される1ページの行数を変更する方法

SQL*Plusなどでselect文を実行した時に表示される1ページの行数を変更したい場合は、SQL*Plusのプロンプトから「set pagesize」コマンドを実行します。以下に私の環境での実行結果を示します。

1.select文を実行
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
上記の場合、選択した表やビューの列名(項目名)がヘッダー(タイトル行)として表示されておりますが、ヘッダー(タイトル行)から次のヘッダー(タイトル行)の直前の空白行までが1ページとなりますので、現在1ページの行数は10行に設定されているようです。

2.「set pagesize 24」コマンドを実行
SQL> set pagesize 24
SQL>
上記のselect文の結果を1ページに収めるために、1ページの行数を

ヘッダー(タイトル行)1行+ヘッダー(タイトル行)区切り線1行+select文の検索結果データ21行+末尾の空白行1行=24行

に設定しました。

3.select文を実行
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
1ページの行数を24行に設定したので、select文の結果がちょうど1ページに収まりました。そのため、ヘッダー(タイトル行)が先頭の1行にしか表示されておりません。

4.「set pagesize 10」コマンドを実行
SQL> set pagesize 10
SQL>
1ページの行数を10行に設定してみました。

5.select文を実行
SQL> column OWNER format a10
SQL> column TABLE_NAME format a25
SQL> column TABLESPACE_NAME format a10
SQL> select OWNER,TABLE_NAME,TABLESPACE_NAME from dba_tables
2 where OWNER='DBSNMP';

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_SNAPSHOT SYSAUX
DBSNMP MGMT_SNAPSHOT_SQL SYSAUX
DBSNMP MGMT_BASELINE SYSAUX
DBSNMP MGMT_BASELINE_SQL SYSAUX
DBSNMP MGMT_CAPTURE SYSAUX
DBSNMP MGMT_CAPTURE_SQL SYSAUX
DBSNMP MGMT_RESPONSE_CONFIG SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_LATEST SYSAUX
DBSNMP MGMT_LATEST_SQL SYSAUX
DBSNMP MGMT_HISTORY SYSAUX
DBSNMP MGMT_HISTORY_SQL SYSAUX
DBSNMP MGMT_BSLN_DATASOURCES SYSAUX
DBSNMP MGMT_BSLN_BASELINES SYSAUX
DBSNMP MGMT_BSLN_INTERVALS SYSAUX

OWNER TABLE_NAME TABLESPACE
---------- ------------------------- ----------
DBSNMP MGMT_BSLN_METRICS SYSAUX
DBSNMP MGMT_BSLN_STATISTICS SYSAUX
DBSNMP MGMT_BSLN_THRESHOLD_PARMS SYSAUX
DBSNMP MGMT_DB_SIZE_GTT
DBSNMP MGMT_DB_FILE_GTT
DBSNMP MGMT_BSLN_RAWDATA
DBSNMP MGMT_TEMPT_SQL

21行が選択されました。

SQL>
最初と同じように1ページ10行に設定されました。そのため1ページ(10行)毎にヘッダー(タイトル行)が表示されております。

なお、「set pagesize」コマンドは、「set pages」と省略しても実行可能です。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/07(月) 22:42:20|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0

OracleのSQL*Plusで表示される1行の文字数を変更する方法

SQL*Plusなどでselect文を実行した時に表示される1行の文字数を変更したい場合は、SQL*Plusのプロンプトから「set linesizeコマンドを実行します。以下に私の環境での実行結果を示します。

1.select文を実行
SQL> column username format a10
SQL> column user_id format 999
SQL> column account_status format a20
SQL> column default_tablespace format a8
SQL> column temporary_tablespace format a8
SQL> select USERNAME,USER_ID,ACCOUNT_STATUS,DEFAULT_TABLESPACE,
2 TEMPORARY_TABLESPACE from dba_users where account_status='OPEN';

USERNAME USER_ID ACCOUNT_STATUS DEFAULT_ TEMPORAR
---------- ------- -------------------- -------- --------
MGMT_VIEW 53 OPEN SYSTEM TEMP
SYS 0 OPEN SYSTEM TEMP
SYSTEM 5 OPEN SYSTEM TEMP
DBSNMP 24 OPEN SYSAUX TEMP
SYSMAN 51 OPEN SYSAUX TEMP

SQL>
あらかじめ「columnコマンドで列(項目)の表示幅を適切なサイズに調整しているため、かなり見やすく表示されております。

2.「set linesize 30」コマンドを実行
SQL> set linesize 30
SQL>
これで1行の文字数が半角英数30文字に設定されました。

3.select文を実行
SQL> column username format a10
SQL> column user_id format 999
SQL> column account_status format a20
SQL> column default_tablespace format a8
SQL> column temporary_tablespace format a8
SQL> select USERNAME,USER_ID,ACCOUNT_STATUS,DEFAULT_TABLESPACE,
2 TEMPORARY_TABLESPACE from dba_users where account_status='OPEN';

USERNAME USER_ID
---------- -------
ACCOUNT_STATUS DEFAULT_
-------------------- --------
TEMPORAR
--------
MGMT_VIEW 53
OPEN SYSTEM
TEMP

SYS 0
OPEN SYSTEM
TEMP

USERNAME USER_ID
---------- -------
ACCOUNT_STATUS DEFAULT_
-------------------- --------
TEMPORAR
--------

SYSTEM 5
OPEN SYSTEM
TEMP

DBSNMP 24
OPEN SYSAUX

USERNAME USER_ID
---------- -------
ACCOUNT_STATUS DEFAULT_
-------------------- --------
TEMPORAR
--------
TEMP

SYSMAN 51
OPEN SYSAUX
TEMP


SQL>
1行の文字数が半角英数30文字に設定されたため、30文字目で折り返して表示されております。これはかなり見づらい状態ですね。

4.「set linesize 100」コマンドを実行
SQL> set linesize 100
SQL>
これで1行の文字数が半角英数100文字に設定されました。

5.select文を実行
SQL> column username format a10
SQL> column user_id format 999
SQL> column account_status format a20
SQL> column default_tablespace format a8
SQL> column temporary_tablespace format a8
SQL> select USERNAME,USER_ID,ACCOUNT_STATUS,DEFAULT_TABLESPACE,
2 TEMPORARY_TABLESPACE from dba_users where account_status='OPEN';

USERNAME USER_ID ACCOUNT_STATUS DEFAULT_ TEMPORAR
---------- ------- -------------------- -------- --------
MGMT_VIEW 53 OPEN SYSTEM TEMP
SYS 0 OPEN SYSTEM TEMP
SYSTEM 5 OPEN SYSTEM TEMP
DBSNMP 24 OPEN SYSAUX TEMP
SYSMAN 51 OPEN SYSAUX TEMP

SQL>
また元通り、見やすい状態になりました。

なお、「set linesizeコマンドは、「set lines」、「set line」、「set lin」と省略しても実行可能です。

テーマ:オラクルデータベース - ジャンル:コンピュータ

  1. 2009/09/07(月) 20:46:13|
  2. ORACLE
  3. | トラックバック:0
  4. | コメント:0
次のページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。