1. oracle 23ai 다운로드
oralce vm download - Oracle_Database_23ai_Free_Developer.ova Oracle Database 23ai 무료 VirtualBox 어플라이언스 |
| https://www.oracle.com/database/technologies/databaseappdev-vm.html Oracle DB 개발자 VM |
2. Oracle VirtualBox Base Packages - 7.1.6 다운로드
Oracle VirtualBox 다운로드 |
| https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html |
3. 문제점
좋아요! 상황을 정리해 보면:
|
방화벽 확인 (VM과 Windows 양쪽)
|
![]() |
| lsnrctl 로 상태 및 listener.ora 파일 위치 확인 127.0.0.1 --> 0.0.0.0 으로 수정 vi listener.ora ![]() |
🔍 문제 요약127.0.0.1:1521은 루프백 주소로, VM 내부에서만 접근 가능합니다. 즉, VM 바깥(Windwos PC)에서는 이 포트에 접근할 수 없습니다.✅ 해결 방법1. Oracle Listener가 0.0.0.0 또는 실제 VM IP에 바인딩되도록 설정 변경📍 Oracle Listener 설정 파일 수정VM 내부에서 listener.ora 파일을 열어 다음 내용을 확인하거나 수정해야 합니다:
|
🎯 적용 후 Listener 재시작
그리고 다시 netstat -ntl로 확인해서 0.0.0.0:1521 또는 <VM의 IP>:1521 으로 바뀌었는지 확인하세요. |
3. 정보확인
| vm ip 확인 |
| [oracle@vbox ~]$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:5a:df:ec brd ff:ff:ff:ff:ff:ff altname enp0s3 inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute eth0 valid_lft 85234sec preferred_lft 85234sec 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:4f:4b:65 brd ff:ff:ff:ff:ff:ff altname enp0s8 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:dd:41:a4 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever [oracle@vbox ~]$ |
| netstat -ntl |
![]() |
windows pc 확인![]() |
4. 네트워크 설정
| 어댑터 1 설정 - 이미 아래와 같이 설정 되어 있음 |
![]() |
| 어댑터 2 추가 설정 |
![]() |
| Oracle SQL Develpor 접속 1521 port 1) hr 접속 2) system 접속 |
![]() |
![]() |
| putty 접속 : 2223 port | ![]() |
| https://www.oracle.com/kr/database/free/get-started/ | Oracle Database Free에 접속하기 |
Oracle Database Free에 접속하기
SQL
- 접속 문자열 형식: [username]@[hostname]:[port]/[DB service name] [AS SYSDBA]
최초 플러그형 데이터베이스(PDB) 에 접속하려면 다음을 사용합니다.
sqlplus sys@localhost:1521/FREEPDB1 as sysdba
- 컨테이너 데이터베이스(CDB)에 접속하려면 다음을 사용합니다.
sqlplus sys@localhost:1521/FREE as sysdba
Java
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:@localhost:1521/FREEPDB1"); // jdbc:oracle:thin@[hostname]:[port]/[DB service name]
ods.setUser("[Username]");
ods.setPassword("[Password]");
Connection conn = ods.getConnection();
PreparedStatement stmt = conn.prepareStatement("SELECT 'Hello World!' FROM dual");
ResultSet rslt = stmt.executeQuery();
while (rslt.next()) {
System.out.println(rslt.getString(1));
}
Python
import oracledb
conn = oracledb.connect(user="[Username]", password="[Password]", dsn="localhost:1521/FREEPDB1")
with conn.cursor() as cur:
cur.execute("SELECT 'Hello World!' FROM dual")
res = cur.fetchall()
print(res)
Node.js
const oracledb = require('oracledb');
async function run() {
let connection = await oracledb.getConnection({
user : "[Username]",
password : "[Password]",
connectString : "localhost:1521/FREEPDB1" // [hostname]:[port]/[DB service name]
});
let result = await connection.execute( "SELECT 'Hello World!' FROM dual");
console.log(result.rows[0]);
}
run();
'02. SQLP 스터디 > 05. Oracle 기타' 카테고리의 다른 글
| How to Reorganize a Table (1) | 2025.04.26 |
|---|---|
| CONNECT BY LEVEL (0) | 2025.04.14 |
| Oracle 실습 (livesql) (0) | 2025.04.07 |
| SQL 전문가 가이드(개정판) 2020 Edition 주요 개정사항 (0) | 2025.04.05 |
| 기출문제 Link (0) | 2025.04.05 |








