Amazon RDS 생성 시 초기 데이터베이스 이름 설정에 관해

Amazon RDS 생성 시 초기 데이터베이스 이름 설정에 관해서 정리해 봤습니다.
2024.03.09

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon RDS 생성 시 초기 데이터베이스 이름 설정에 관해서 정리해 봤습니다.

초기 데이터베이스 이름

Amazon RDS를 생성할 때 초기 데이터베이스를 설정할 수 있습니다.

“mydb”와 같이 DB 인스턴스를 생성할 때 Amazon RDS가 생성하는 데이터베이스에 지정된 이름을 정의하는 최대 64자의 영숫자 문자열을 지정합니다. 데이터베이스 이름을 지정하지 않으면 생성하는 DB 인스턴스에서 Amazon RDS가 데이터베이스를 만들지 않습니다.

초기 데이터베이스는 Amazon RDS가 DB 인스턴스를 생성될 때 지정한 데이터베이스 이름을 바탕으로 하나의 데이터베이스를 생성합니다. 아무것도 지정하지 않으면 데이터베이스는 생성되지 않습니다.

초기 데이터베이스는 DB 인스턴스의 구성 탭에서「DB 이름」을 통해 확인할 수 있습니다.

이번에는 초기 데이터베이스 이름을 설정하지 않고 DB 인스턴스를 생성해 보도록 하겠습니다.

초기 데이터베이스 이름을 설정하지 않았기 때문에 아무것도 표시되지 않을 것 처럼 보였지만, ORCL 이라는 이름의 데이터베이스가 생성된 것을 확인할 수 있습니다.

RDS for Oracle의 경우 초기 데이터베이스는 기본값으로 ORCL이 지정되어 있는 것 같습니다.

그렇다면 MySQL은 어떨까요?

MySQL 엔진을 선택하고 초기 데이터베이스 이름을 입력하지 않으면 DB 이름에 아무것도 표시되지 않는 것을 확인할 수 있습니다.

이렇듯 생성하고자하는 데이터베이스 엔진마다 조금씩 설정이 다르다는 것을 알 수 있습니다.

초기 데이터베이스

그렇다면 생성된 데이터베이스를 삭제하고 추가하면 DB 이름이 변경될까요?

먼저 RDS for Oracle의 경우 초기 데이터베이스 이름을 입력하지 않더라도 기본적으로 데이터베이스가 생성됩니다.

이런 이유에서인지 반드시 RDS for Oracle로 접근할 때는 데이터베이스 명을 입력해야합니다.

sqlplus 'user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))'

이렇게 데이터베이스를 특정하여 접근하기 때문에 해당 데이터베이스를 삭제할 수 없는 건 아닐까요?

elect distinct(owner)
from ALL_ALL_TABLES;

다음 명령어를 입력하여 데이터베이스를 불러옵니다. 해당 명령어는 show databases; 와 같은 결과를 보여줍니다.

결과를 확인해 보면, testdb는 없는 것을 확인할 수 있습니다.

결과적으로 RDS for Oracle은 접속할 때도 반드시 접근하고자 하는 데이터베이스 명을 지정해야 하며, 초기 데이터베이스 이름을 지정하지 않았더라도 반드시 하나의 초기 데이터베이스가 생성된다는 것입니다.

그렇다면 다른 데이터베이스 엔진들은 어떨까요?

아래 AWS 질문과 답변 내용을 살펴보면, DB이름에 첫 데이터베이스 이름이 들어기지만 이후에 수정할 수는 없다고 말하고 있습니다.

즉, Oracle을 포함하여 다른 데이터베이스 엔진에서도 DB 이름은 처음 지정한 값으로 고정되는 것 같습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.