Section 1. Oracle 설치 및 설정
1. M1 맥북과 Oracle
- Oracle 은 기본적으로 Mac 전용 OracleDB 를 제공하지 않음
- 따라서 Mac 에서 OracleDB 를 이용하려면 보통 Docker 를 통해서 이용
- 하지만 M1 맥북 (arm cpu)은 현재 (2021-08-18)기준으로 Oracle 이용 불가
2. 원격 Oracle 구동
- Local 이 아닌 원격의 OracleDB 를 이용
- Win 10 노트북에서 OracleDB 를 구동하고 M1 맥북의 Spring 에서 해당 DB 에 접속 및 연동
3. Oracle 설치
- Oracle 11g 설치
- 더 높은 버전이 있지만 Win10 과 현존하는 여러 서버들 간 호환되는 버전임
(특정 버전의 Oracle을 쓰다가 다른 버전으로 바꾸면 여러 충돌 가능성이 존재)
- 설치완료 (System 계정으로 로그인)
4. Oracle 계정 생성 및 권한설정
- codren 계정 생성
- codren 계정에 연결 및 자원에 대한 권한을 부여 (grant)
- codren 계정이 사용할 기본 설정 테이블스페이스를 users 그룹으로 설정
- 해당 테이블 스페이스에서 codren 계정의 할당 영역 제한 해제
5. 테이블 생성 및 데이터 삽입
6. Oracle 방화벽 설정
- Local 이 아닌 원격에서 OracleDB 에 접속을 할 수 있도록 방화벽 설정에서 포트 활성화
① Window 방화벽 설정 -> 고급 설정
② 해당 컴퓨터로 들어오는 접근에 대한 새 규칙을 생성 (인바운드 규칙)
③ Local 상에서 OracleDB 는 1521 포트에서 수행되므로 1521 에 대한 접근 요청을 허용
Section 2. Oracle 연동
1. JDBC
자바로 데이터베이스에 접속하고 SQL문을 수행할 때 사용되는 표준 SQL 인터페이스 API
2. JDBC 라이브러리
- pom.xml 파일에 JDBC dependency 주입
3. Entity 생성
- 공지사항 List 에 표시될 공지사항 객체, 테이블 스키마 선언하는 .java 파일
- DB 에 생성된 테이블과 동일한 속성 정의
- Notice.java 코드
4. Service 생성
5. ListController 수정
- 공지사항의 List 페이지 url 요청이 들어오면 수행되는 Controller 수정
- Controller 에 Service 객체를 Dependency Injection
6. dispatcher-servlet.xml 수정
- noticeService 객체를 컨테이너에 생성하도록 하고 해당 객체를 ListController 에 주입
7. List View 페이지
8. 연동 성공 결과화면
- OracleDB 에서 Test 용도로 Insert 수행한 공지사항 출력됨
error
1. Oracle Adapter Connection error
- 서비스 설정에서 Oracle 관련 서비스 시작
2. 원격 Oracle 접속 error
- 위에서 설명한 방화벽 설정에서 오라클 포트를 열어주면 해결됨