fasoo docker oracle 켜기

2025. 9. 26. 21:10보안 컨설팅/기술적 취약점 점검

su oracle

 

nano $ORACLE_HOME/dbs/initORCL.ora

 

아래 입력 후 저장

db_name='ORCL'
sga_target=800M
pga_aggregate_target=256M
control_files=('/opt/oracle/oradata/ORCL/control01.ctl')

 

[컨트롤러 디렉터리 재생성]

rm -rf /opt/oracle/oradata/ORCL

mkdir -p /opt/oracle/oradata/ORCL

 

sqlplus / as sysdba

startup nomount pfile='/opt/oracle/product/19c/dbhome_1/dbs/initORCL.ora';

 

[DB 생성]

CREATE DATABASE ORCL
   USER SYS IDENTIFIED BY 1234
   USER SYSTEM IDENTIFIED BY 1234
   LOGFILE GROUP 1 ('/opt/oracle/oradata/ORCL/redo01.log') SIZE 100M,
           GROUP 2 ('/opt/oracle/oradata/ORCL/redo02.log') SIZE 100M,
           GROUP 3 ('/opt/oracle/oradata/ORCL/redo03.log') SIZE 100M
   MAXLOGFILES 5
   MAXDATAFILES 100
   DATAFILE '/opt/oracle/oradata/ORCL/system01.dbf' SIZE 700M
   SYSAUX DATAFILE '/opt/oracle/oradata/ORCL/sysaux01.dbf' SIZE 600M
   UNDO TABLESPACE undotbs1 DATAFILE '/opt/oracle/oradata/ORCL/undotbs01.dbf' SIZE 200M
   DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/opt/oracle/oradata/ORCL/temp01.dbf' SIZE 100M
   CHARACTER SET KO16MSWIN949;

 

exit

 

프로세스 동작 확인

ps -ef | grep pmon

 

[데이터 딕셔너리 생성(필수)]

SQL>

@?/rdbms/admin/catalog.sql

 

[ PL/SQL 패키지(예: STANDARD 등)]

SQL>

@?/rdbms/admin/catproc.sql

 

[모든 invalid 객체 재컴파일]

SQL>

@?/rdbms/admin/utlrp.sql

✅ Oracle 접속 후 기본 확인 항목

1. 현재 접속 계정

show user;

→ 지금 어떤 계정으로 들어왔는지 확인 (SYS, SYSTEM, 일반 유저 등).


2. Oracle 버전

 select * from v$version;

→ DB 버전/엔진 정보 확인 (예: 19c, 21c).


3. 인스턴스 상태

select instance_name, status, database_status from v$instance;
  • STATUS : STARTED / MOUNTED / OPEN
  • DATABASE_STATUS : ACTIVE 여야 정상.

4. 데이터베이스 이름과 캐릭터셋

select name, open_mode from v$database;
select parameter, value from nls_database_parameters where parameter like 'NLS_CHARACTERSET';

→ DB가 OPEN 모드인지, 캐릭터셋이 뭔지 확인.


5. 현재 스키마 및 테이블 존재 여부

 
-- 현재 계정 소유 테이블 SQL>
select table_name from user_tables;
 
-- 권한이 있으면 전체 SQL>
select owner, table_name from all_tables fetch first 10 rows only;