0.現在の環境

現在のoracleユーザの環境変数は下記の通り

[root@centos7_3 ~]# cat  /home/oracle/.bashrc
# .bashrc
----(略)----
export ORACLE_HOSTNAME=centos7_3
export ORACLE_BASE=/opt/oracle/product
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB        ←インスタンス名(SID)はこれやね
export PATH=$PATH:$ORACLE_HOME/bin

この環境変数を読み込んだ状態のoracleユーザでSID=ORCLCDBのインスタンスにログインする。

※ORCLCDBインスタンスは、

/etc/init.d/oracledb_ORCLCDB-19c configure

を実行することによって作成したoracleDBのデフォルトで同梱されているサンプルデータベース。(下記で実施)

上記のスクリプトでは、1つのプラガブル・データベース(ORCLPDB1)を持つコンテナ・データベース(ORCLCDB)を作成し、デフォルト・ポート(1521)にリスナーを構成する。

 

上記のスクリプトで作成されたORCLCDBにログインしてみる。

 

[root@centos7_3 ~]# su - oracle
最終ログイン: 2022/07/07 (木) 13:27:38 JST日時 pts/0
[oracle@centos7_3 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 7 15:34:01 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
?????????

SQL>

1.確認

■やること

1-1.インスタンス一覧

1-2.データベース一覧

1-3.プロファイル一覧

1-4.スキーマ一覧

1-5.ユーザ一覧

1-6.現在のインスタンス確認

1-7.現在のデータベース確認

1-8.現在のスキーマ確認

1-9.現在のユーザ一確認

1-10.テーブルスペース、データファイルを確認

1-11.テーブル一覧確認

1-12.表領域一覧確認

 

1-1.インスタンス一覧

[oracle@centos7_3 oracle]$ ll /opt/oracle/oradata
合計 0
drwxr-x---. 4 oracle oinstall 231  6月 27 14:06 ORCLCDB

→これしかいないみたい?よくわかんないけどw

1-2.データベース一覧

[oracle@centos7_3 oracle]$ ll /opt/oracle/oradata
合計 0
drwxr-x---. 4 oracle oinstall 231  6月 27 14:06 ORCLCDB

→これしかいないみたい

 

1-3.プロファイル一覧

パスワード有効期限がUNLIMITEDなプロファイル一覧表示

SQL> SELECT * FROM DBA_PROFILES WHERE LIMIT = 'UNLIMITED';

PROFILE
--------------------------------------------------------------------------------
RESOURCE_NAME                    RESOURCE
-------------------------------- --------
LIMIT
--------------------------------------------------------------------------------
COM INH IMP
--- --- ---
DEFAULT
COMPOSITE_LIMIT                  KERNEL
UNLIMITED
NO  NO  NO


PROFILE
--------------------------------------------------------------------------------
RESOURCE_NAME                    RESOURCE
-------------------------------- --------
LIMIT
--------------------------------------------------------------------------------
COM INH IMP
--- --- ---
DEFAULT
SESSIONS_PER_USER                KERNEL
UNLIMITED
NO  NO  NO


PROFILE
--------------------------------------------------------------------------------
RESOURCE_NAME                    RESOURCE
-------------------------------- --------
LIMIT
--------------------------------------------------------------------------------
COM INH IMP
--- --- ---
DEFAULT
CPU_PER_SESSION                  KERNEL
UNLIMITED
NO  NO  NO

-----(略)-----

 

1-4.スキーマ一覧

SQL> select distinct owner from all_objects order by owner;

OWNER
--------------------------------------------------------------------------------
APPQOSSYS
AUDSYS
CTXSYS
DBSFWUSER
DBSNMP
DVF
DVSYS
GSMADMIN_INTERNAL
LBACSYS
MDSYS
OJVMSYS

OWNER
--------------------------------------------------------------------------------
OLAPSYS
ORACLE_OCM
ORDDATA
ORDPLUGINS
ORDSYS
OUTLN
PUBLIC
REMOTE_SCHEDULER_AGENT
SI_INFORMTN_SCHEMA
SYS
SYSTEM

OWNER
--------------------------------------------------------------------------------
WMSYS
XDB

24??????????

 

1-5.ユーザ一覧

SQL> SELECT USERNAME FROM ALL_USERS ORDER BY USERNAME;

USERNAME
--------------------------------------------------------------------------------
ANONYMOUS
APPQOSSYS
AUDSYS
CTXSYS
DBSFWUSER
DBSNMP
DIP
DVF
DVSYS
GGSYS
GSMADMIN_INTERNAL

USERNAME
--------------------------------------------------------------------------------
GSMCATUSER
GSMROOTUSER
GSMUSER
LBACSYS
MDDATA
MDSYS
OJVMSYS
OLAPSYS
ORACLE_OCM
ORDDATA
ORDPLUGINS

USERNAME
--------------------------------------------------------------------------------
ORDSYS
OUTLN
REMOTE_SCHEDULER_AGENT
SI_INFORMTN_SCHEMA
SYS
SYS$UMF
SYSBACKUP
SYSDG
SYSKM
SYSRAC
SYSTEM

USERNAME
--------------------------------------------------------------------------------
WMSYS
XDB
XS$NULL

 

1-6.現在のインスタンス確認

①psコマンドで確認

下記psコマンドでORCLEのプロセス(バックグラウンドプロセス)を調べられるとのこと。プロセス名は ora_<バックグラウンドプロセス名>_<ORACLE_SID> とのこと。つまり、「ora_pmon_ORCLCDB」の場合は、SID(インスタンス名)は「ORCLCDB

[root@centos7_3 ~]# ps -ef | grep " or[a]"
oracle   10235     1  0 13:29 ?        00:00:00 ora_pmon_ORCLCDB
oracle   10237     1  0 13:29 ?        00:00:00 ora_clmn_ORCLCDB
oracle   10239     1  0 13:29 ?        00:00:01 ora_psp0_ORCLCDB
oracle   10241     1  2 13:29 ?        00:04:28 ora_vktm_ORCLCDB
---(略)---
oracle   11088     1  0 13:39 ?        00:00:00 ora_w006_ORCLCDB
oracle   11092     1  0 13:39 ?        00:00:00 ora_w007_ORCLCDB
oracle   16895     1  0 15:31 ?        00:00:01 ora_m000_ORCLCDB
root     17036  1708  0 15:33 pts/0    00:00:00 su - oracle
oracle   17063 17062  0 15:34 ?        00:00:00 oracleORCLCDB (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle   17659     1  0 15:46 ?        00:00:01 ora_m003_ORCLCDB
oracle   18344     1  0 15:59 ?        00:00:00 ora_m004_ORCLCDB
oracle   18665     1  0 16:05 ?        00:00:00 ora_m001_ORCLCDB
oracle   19121     1  0 16:14 ?        00:00:00 ora_j000_ORCLCDB
oracle   19123     1  0 16:14 ?        00:00:00 ora_j001_ORCLCDB

 

②sqlで確認

SQL> SELECT INSTANCE_NAME FROM V$INSTANCE ;

INSTANCE_NAME
----------------
ORCLCDB

 

1-7.現在のデータベース確認

1-6.のカレントインスタンスの確認と大隊同じでいいんじゃない?

データベース=インスタンスじゃないらしいから複雑な構成の場合は別のやり方で確認する必要があるけど、oracleDBの複雑な構成がそもそもわからないw

 

1-8.現在のスキーマ確認

SQL> select sys_context( 'userenv', 'CURRENT_SCHEMA' ) from dual;

SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
--------------------------------------------------------------------------------
SYS

 

1-9.現在のユーザ一確認

SQL> select username from user_users;

USERNAME
--------------------------------------------------------------------------------
SYS

1-10.テーブルスペース、データファイルを確認

SQL> SELECT t.NAME "Tablespace", f.NAME "Datafile" FROM V$TABLESPACE t, V$DATAFILE f WHERE t.TS# = f.TS# ORDER BY t.NAME;

Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
SYSAUX
/opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf

SYSAUX
/opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf

SYSAUX
/opt/oracle/oradata/ORCLCDB/sysaux01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
SYSAUX
/opt/oracle/oradata/ORCLCDB/sysaux01.dbf

SYSAUX
/opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf

SYSAUX
/opt/oracle/oradata/ORCLCDB/sysaux01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
SYSAUX
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf

SYSAUX
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf

SYSAUX
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
SYSTEM
/opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf

SYSTEM
/opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf

SYSTEM
/opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
SYSTEM
/opt/oracle/oradata/ORCLCDB/system01.dbf

SYSTEM
/opt/oracle/oradata/ORCLCDB/system01.dbf

SYSTEM
/opt/oracle/oradata/ORCLCDB/system01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
SYSTEM
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf

SYSTEM
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf

SYSTEM
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
UNDOTBS1
/opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf

UNDOTBS1
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf

UNDOTBS1
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
UNDOTBS1
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf

UNDOTBS1
/opt/oracle/oradata/ORCLCDB/undotbs01.dbf

UNDOTBS1
/opt/oracle/oradata/ORCLCDB/undotbs01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
UNDOTBS1
/opt/oracle/oradata/ORCLCDB/undotbs01.dbf

UNDOTBS1
/opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf

UNDOTBS1
/opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf


Tablespace
------------------------------
Datafile
--------------------------------------------------------------------------------
USERS
/opt/oracle/oradata/ORCLCDB/users01.dbf

USERS
/opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf

 

1-11.テーブル一覧確認

SQL> SELECT TABLE_NAME FROM ALL_TABLES;

TABLE_NAME
--------------------------------------------------------------------------------
ICOL$
COL$
IND$
TAB$
CLU$
LOB$
COLTYPE$
SUBCOLTYPE$
NTAB$
REFCON$
OPQTYPE$

TABLE_NAME
--------------------------------------------------------------------------------
ICOLDEP$
VIEWTRCOL$
LIBRARY$
ASSEMBLY$
ATTRCOL$
TYPE_MISC$
TS$
FET$
SEG$
UET$
USER$

TABLE_NAME
--------------------------------------------------------------------------------
TSQ$
UNDO$
FILE$
OBJ$
PROXY_DATA$
PROXY_ROLE_DATA$
CON$
CDEF$
CCOL$
BOOTSTRAP$
OBJERROR$

----(略)----

 

とりあえずテーブルはいっぱいあるらしい。

SQL> SELECT COUNT(*) FROM ALL_TABLES;

  COUNT(*)
----------
      2178

SQL> SELECT * FROM ALL_TABLES WHERE TABLE_NAME = 'LOGMNR_INDSUBPART$';

OWNER
--------------------------------------------------------------------------------
TABLE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
CLUSTER_NAME
--------------------------------------------------------------------------------
IOT_NAME
--------------------------------------------------------------------------------
STATUS     PCT_FREE   PCT_USED  INI_TRANS  MAX_TRANS INITIAL_EXTENT NEXT_EXTENT
-------- ---------- ---------- ---------- ---------- -------------- -----------
MIN_EXTENTS MAX_EXTENTS PCT_INCREASE  FREELISTS FREELIST_GROUPS LOG B   NUM_ROWS
----------- ----------- ------------ ---------- --------------- --- - ----------
    BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN
---------- ------------ ---------- ---------- -----------
AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS
------------------------- -------------------
DEGREE
----------------------------------------
INSTANCES                                CACHE                TABLE_LO
---------------------------------------- -------------------- --------
SAMPLE_SIZE LAST_ANA PAR IOT_TYPE     T S NES BUFFER_ FLASH_C CELL_FL ROW_MOVE
----------- -------- --- ------------ - - --- ------- ------- ------- --------
GLO USE DURATION        SKIP_COR MON
--- --- --------------- -------- ---
CLUSTER_OWNER
--------------------------------------------------------------------------------
DEPENDEN COMPRESS COMPRESS_FOR                   DRO REA SEG RESULT_ CLU
-------- -------- ------------------------------ --- --- --- ------- ---
ACTIVITY_TRACKING       DML_TIMESTAMP             HAS CON INMEMORY INMEMORY
----------------------- ------------------------- --- --- -------- --------
INMEMORY_DISTRI INMEMORY_COMPRESS INMEMORY_DUPL
--------------- ----------------- -------------
DEFAULT_COLLATION
--------------------------------------------------------------------------------
D S EXT HYB CELLMEMORY               CON CON EXT EXT INMEMORY_SER
- - --- --- ------------------------ --- --- --- --- ------------
INMEMORY_SERVICE_NAME
--------------------------------------------------------------------------------
CON MEMOPTIM MEMOPTIM HAS ADM DAT LOGICAL_
--- -------- -------- --- --- --- --------
SYSTEM

----(略)----

なんかものすごい行数出力されたダニ

 

1-12.表領域一覧確認

データベースに存在する全てのテーブルが属する表領域を確認するには、DBA_TABLESビューを参照するらしい。

 

SQL> SELECT TABLE_NAME || ',' || TABLESPACE_NAME FROM DBA_TABLES;

TABLE_NAME||','||TABLESPACE_NAME
--------------------------------------------------------------------------------
ICOL$,SYSTEM
COL$,SYSTEM
IND$,SYSTEM
TAB$,SYSTEM
CLU$,SYSTEM
LOB$,SYSTEM
COLTYPE$,SYSTEM
SUBCOLTYPE$,SYSTEM
NTAB$,SYSTEM
REFCON$,SYSTEM
OPQTYPE$,SYSTEM

TABLE_NAME||','||TABLESPACE_NAME
--------------------------------------------------------------------------------
ICOLDEP$,SYSTEM
VIEWTRCOL$,SYSTEM
LIBRARY$,SYSTEM
ASSEMBLY$,SYSTEM
ATTRCOL$,SYSTEM
TYPE_MISC$,SYSTEM
TS$,SYSTEM
FET$,SYSTEM
SEG$,SYSTEM
UET$,SYSTEM
USER$,SYSTEM

----(略)----

 

 

 

2.アクセス

2-1.カレントインスタンスの変更(接続?)

2-2.カレントデータベースの変更(接続?)

2-3.カレントスキーマの変更