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.カレントスキーマの変更
