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
コメントを残す