OracleDBAコマンドメモ

Published by

on

Oracle DBAとして利用するコマンドメモです。以下のルールで表記を整理しています。キーワードはすべて大文字で記載し、小文字は任意指定部分を示すようにしています。(実際はSELECT * FROM・・・などはselect * from・・・とも書けますのであくまで本記事内だけの記述ルールですので悪しからず)

下記コマンド内での表記記事内の意図
C:\oracle\home\dataデータファイルへのパス
tablespace01任意のテーブルスペース名
backup_dpump_dir任意のディレクトリ名
table01任意のテーブル名
col1, col2任意のカラム名
idx_table01任意のインデックス名
temp任意の一時表領域名

■表領域管理関連

▼表領域の確認

SELECT * FROM DBA_TABLESPACES;

▼データファイルの確認

SELECT * FROM DBA_DATA_FILES;

▼データファイルの自動拡張設定確認

SELECT TABLESPACE_NAME, FILE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'tablespace01';

▼データファイルの自動拡張を有効にし、最大サイズを無制限に設定

ALTER DATABASE DATAFILE 'C:\oracle\home\data\ts_data01.dbf' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

▼データファイルのパス確認

SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'tablespace01';

▼表領域の作成

CREATE TABLESPACE tablespace01 DATAFILE 'C:\oracle\home\data\ts_data01.dbf' SIZE 1000M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

▼表領域の削除

DROP TABLESPACE tablespace01 INCLUDING CONTENTS AND DATAFILES;

▼表領域にデータファイルを追加

ALTER TABLESPACE tablespace01 ADD DATAFILE 'C:\oracle\home\data\ts_data01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

▼一時表領域にデータファイルを追加

ALTER TABLESPACE temp ADD TEMPFILE 'c:\oracle\home\data\temp02.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

▼一時表領域の縮小(Oracle11g以降)

ALTER TABLESPACE temp SHRINK SPACE KEEP 10000M;

▼表領域からデータファイルを削除

ALTER TABLESPACE tablespace01 DROP DATAFILE 'C:\oracle\home\data\ts_data02.dbf';

▼表領域のデータファイルを移動

ALTER TABLESPACE tablespace01 OFFLINE;
host move C:\oradata\ts_data02.dbf E:\oradata\ts_data02.dbf
ALTER TABLESPACE tablespace01 RENAME DATAFILE 'C:\oradata\ts_data02.dbf' TO 'E:\oradata\ts_data02.dbf';

▼TMP表領域の拡張(「ORA-01652:一時セグメントを拡張できません。」の対応)

ALTER DATABASE TEMPFILE 'C:\oracle\home\data\temp01.dbf' RESIZE 300M;

▼エクステントを確認

SELEC SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, EXTENTS FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'USERS';

■ディレクトリ関連

▼ディレクトリを作成する

CREATE DIRECTORY backup_dpump_dir AS 'C:\Backup';

▼ディレクトリを確認する

SELECT * FROM DBA_DIRECTORIES;

■DDL関連

▼カラム削除

ALTER TABLE table01 DROP (col1, col2); 
ALTER TABLE table01 DROP COLUMN col1;

■インデックス関連

▼インデックスのステータス確認

SELECT INDEX_NAME, STATUS FROM USER_INDEXES;

▼インデックスのリビルド

ALTER INDEX idx_table01 REBUILD;

■セッション関連

▼プロセス・セッション数の現在の使用状況を確認

SELECT RESOURCE_NAME, CURRENT_UTILIZATION, MAX_UTILIZATION, LIMIT_VALUE FROM V$RESOURCE_LIMIT WHERE RESOURCE_NAME IN ('processes', 'sessions');

▼プロセスもしくはセッションの設定値を確認

SELECT NAME, TYPE, VALUE FROM V$SYSTEM_PARAMETER WHERE NAME = 'processes' OR NAME = 'sessions';

■文字コード関連

▼キャラクタセット確認

SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';

■その他

▼バージョン確認

SELECT * FROM v$version;

▼ログイン中ユーザ確認

SELECT USERNAME FROM USER_USERS;

▼データベースリンク確認

SELECT DB_LINK, USERNAME, HOST FROM ALL_DB_LINKS;

(最終更新) 2025/04/04

コメントを残す