3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle DB 確認コマンドいろいろ

Last updated at Posted at 2021-04-21

自分用メモ随時更新

確認系

CDB名確認

SQL> select instance_name, status from v$instance; 

PDB名確認

SQL> show pdbs;

PDBへ接続

SQL> alter session set container=PDB名;

ユニーク名確認

SQL> show parameter db_unique_name;

現在の状態

SQL> select status from v$instance;

現在の接続先

SQL> show con_name;

ログモード確認

SQL> select log_mode from v$database;

profileの状態(DEFAULT)

### 整形
set LINES 120
set PAGES 100
set TERM off
clear col
col PROFILE format a15
col RESOURCE_NAME format a30
col RESOURCE_TYPE format a15
col LIMIT format a15

### 確認
select profile,resource_name,limit from dba_profiles where profile='DEFAULT';

ディレクトリ・オブジェクトの確認

select *  from dba_directories;

DATA領域、RECO領域の確認

### データベースから確認
select GROUP_NUMBER, NAME, TOTAL_MB, FREE_MB, STATE from v$asm_diskgroup order by 1;

### gridユーザから確認
$ asmcmd lsdg;

DBA_USRSの確認

col username format a30;
col ACCOUNT_STATUS format a30;
col PROFILE format a30;
set linesize 150;
select username, account_status, profile from dba_users; 

dba_profilesの確認(パスワードリミット)

col profile format a30;
col limit format a30;
select profile,limit from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';

アーカイブログのバックアップ状況の確認

col completion_time format a20;
col name format a70;
set linesize 150;
select completion_time,name from v$archived_log where name is not null;
select sequence#,completion_time,name,applied,registrar from v$archived_log where name is not null;

接続したセッションの間だけ時間のフォーマットを変更

SQL> alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';

REDOログ適用確認

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME ,APPLIED FROM V$ARCHIVED_LOG ORDER BY 1;

DATAPUMPジョブ確認

set linesize 200
col owner_name for a10
col job_name for a20
col operation for a10
col job_mode for a10
col state for a12
col degree for 999
col attached_sessions for 999
col datapump_sessions for 999
select * from dba_datapump_jobs;

テーブルスペースの保存場所確認

col file_name format a30;
col tablespace_name format a30;
set linesize window;
select file_name,tablespace_name from dba_data_files;

実行系

停止

SQL> shutdown immediate;

マウントモード起動

SQL> startup mount;

マウントモードから起動

SQL> alter database open;

アーカイブログとのクロスチェック

$ rman target /
RMAN> shutdown immediate
RMAN> startup mount
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> alter database open;
RMAN> exit

変更系

バックアップの保存方針のみを考慮したアーカイブログ削除

rman target /
RMAN> DELETE NOPROMPT FORCE OBSOLETE;
 ※NOPROMPT:確認を求めるプロンプトを表示しない
 ※FORCE:指定したファイルとリポジトリ・レコードを削除
 ※OBSOLETE:不要になったもののみ(バックアップ方針を考慮)

### 指定した日数以外を削除(例:N日前以前のアーカイブログを削除)
RMAN> DELETE NOPROMPT FORCE ARCHIVELOG UNTIL TIME 'sysdate - <N>'; ※ N に何日前まで残すかを設定

構成済のアーカイブ・ログの削除方針のみを考慮したアーカイブログ削除

% rman target /
RMAN> delete archivelog all;

### 指定した日数以外を削除(例:N日前以前のアーカイブログを削除)
 RMAN> DELETE ARCHIVELOG UNTIL TIME 'sysdate - N'; ※ N に何日前まで残すかを設定

ASMからアーカイブログ削除

# su - grid
$ asmcmd
ASMCMD> cd +RECO/ユニーク名/ARCHIVELOG
ASMCMD> ls
ASMCMD> rm -r *
ASMCMD> exit

ノーアーカイブログモードへの切り替え

SQL> shutdown immediate
SQL> startup mount;
SQL> alter database noarchivelog;
SQL> alter database open;

アーカイブログモードへの切り替え

SQL> shutdown immediate
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;

パスワード期限を変更

SQL> alter profile default limit password_life_time unlimited;

パスワード変更

alter user ユーザ名 identified by <新しいパスワード>;

ロックされたユーザを解除

alter user ユーザ名 account unlock;

Force Logging機能の有効/無効

### 無効
SQL> ALTER DATABASE NO FORCE LOGGING;

### 有効
SQL> ALTER DATABASE FORCE LOGGING;

### 確認
SQL> select FORCE_LOGGING from V$DATABASE;

### PDB単位
SQL> alter container database <PDB名> ENABLE FORCE LOGGING;
SQL> alter container database <PDB名> DISABLE FORCE LOGGING;

ディレクトリ・オブジェクトの作成

SQL> CREATE OR REPLACE DIRECTORY 名前 AS 'ディレクトリパス';

その他

sqlplusを見やすく

linesize

表示幅の調整が可能

set linesize ***

例
set linesize 20
SQL> select * from v$version;

BANNER ↓「-」の数の調整と、一行で表示させるカラム数と思えば良き。
--------------------
BANNER_FULL
--------------------
BANNER_LEGACY
--------------------
    CON_ID
----------
Oracle Database 19c
Enterprise Edition R
elease 19.0.0.0.0 -
Production
Oracle Database 19c

col

カラムごとの表示幅の調整が可能

col カラム名 format a横幅

例
col BANNER format a15
SQL> col BANNER_FULL format a20;
SQL> select BANNER,BANNER_FULL from v$version;

BANNER ↓「-」の数の調整だと思えば良き
---------------
BANNER_FULL
--------------------
Oracle Database
 19c Enterprise
 Edition Releas
e 19.0.0.0.0 -
Production
Oracle Database 19c
Enterprise Edition R
elease 19.0.0.0.0 -
Production

BANNER
---------------
BANNER_FULL
--------------------
Version 19.10.0.0.0

colとlinesizeを合わせて使う

colとlinesizeを合わせて使うと見やすくなる。

SQL> col BANNER format a30
SQL> col BANNER_FULL format a45;
SQL> set linesize 100;
SQL> select BANNER,BANNER_FULL from v$version;

BANNER                         BANNER_FULL
------------------------------ ---------------------------------------------
Oracle Database 19c Enterprise Oracle Database 19c Enterprise Edition Releas
 Edition Release 19.0.0.0.0 -  e 19.0.0.0.0 - Production
Production                     Version 19.10.0.0.0

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?