自分用メモ随時更新
確認系
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