728x90
반응형
lower_case_table_names
0 : 대소문자를 구분한다.
1 : 대소문자를 구분하지 않는다.
mysql 8.0 업그레이드를 위해 테스트 db의 lower_case_table_names 파라미터를 기존 0에서 1로 변경한 후 upgrade prechecks 를 진행한 결과 프로시저, 테이블을 찾을 수 없다는 메세지가 발생하였다.
{
"id": "routinesSyntaxCheck",
"title": "MySQL 8.0 syntax check for routine-like objects",
"status": "ERROR",
"description": "PROCEDURE 프로시저명 does not exist",
"documentationLink": "https://dev.mysql.com/doc/refman/en/keywords.html"
}
, {
"id": "checkTableOutput",
"title": "Issues reported by 'check table x for upgrade' command",
"status": "OK",
"detectedProblems": [
{
"level": "Error",
"dbObject": "PRSNDB.PRSN_INFO_QRY_HIST_PART_LOG",
"description": "Table '데이터베이스명.테이블명' doesn't exist"
}
]
}
DB 툴 개체탐색기에서 확인해보았을 때도 개체를 찾을 수 없었다.
lower_case_table_names 파라미터를 0으로 원복하고 확인한 결과 다시 조회가 되었다.
lower_case_table_names 를 1로 설정할 경우 대소문자를 구분하지 않는다고 알려져있지만, 모든 명령어를 소문자로 사용한다가 더 맞는 표현이다. 모든 명령어를 소문자로 바꾸어 적용하기 때문에 새로 생성되는 오브젝트들은 소문자로만 생성되게된다.
때문에 기존에 대문자로 생성된 객체에 대해서는 조회가 불가능하게 된다.
만약 대문자가 포함된 객체가 있는데 lower_case_table_names 를 1로 설정하여 조회가 되지 않는다면, 조회가 되지 않는 것일 뿐 객체 자체가 사라지는 것이 아니기 때문에 파라미터를 원복하면 다시 조회가 가능하다.
728x90
반응형
'IT > DB' 카테고리의 다른 글
MSSQL DB Offline 전환 (0) | 2024.08.13 |
---|---|
[MSSQL] 인스턴스 기본 상태 확인 (0) | 2024.06.05 |
Oracle, MySQL, MSSQL DB 계정 생성과 권한 할당 (0) | 2024.01.24 |
[SQL] DROP TRUNCATE DELETE 차이점 (0) | 2023.09.15 |
이기종 DB SQL 변환 사이트 (0) | 2023.08.22 |