복사되었습니다!
OS 환경 : Oracle Linux 9.6 (64bit)
DB 환경 : Oracle AI Database 23.26.2.0.0 ai
에러 : ORA-43853 VECTOR type cannot be used in non-automatic segment space management tablespace SYSTEM
26ai에서 벡터 컬럼을 가진 테이블을 생성하려다 실패함
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
SQL>
CREATE TABLE IF NOT EXISTS ora_parameters (
param_id NUMBER PRIMARY KEY,
param_name VARCHAR2(100),
description VARCHAR2(4000),
embedding VECTOR(384, FLOAT32)
);
CREATE TABLE IF NOT EXISTS ora_parameters (
*
ERROR at line 1:
ORA-43853: VECTOR type cannot be used in non-automatic segment space management tablespace "SYSTEM"
Help: https://docs.oracle.com/error-help/db/ora-43853/
|
해결 방법 : 유저의 기본 테이블스페이스를 users 테이블스페이스로 변경해준 뒤 생성
현재 유저의 default_tablespace 확인
|
1
2
3
4
5
6
7
8
|
SQL>
set lines 200 pages 1000
col username for a10
select username , default_tablespace from dba_users where username = 'ERIC';
USERNAME DEFAULT_TABLESPACE
---------- ------------------------------
ERIC SYSTEM
|
현재 SYSTEM으로 되어 있음
테이블스페이스 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
SQL>
set lines 200 pages 1000
col tablespace_name for a20
col file_name for a70
select tablespace_name, file_id, file_name, round(bytes/1024/1024/1024, 2) gb,
round(maxbytes/1024/1024/1024, 2) max_gb, autoextensible, status, online_status from dba_data_files
union all
select tablespace_name, file_id, file_name, round(bytes/1024/1024/1024, 2) gb,
round(maxbytes/1024/1024/1024, 2) max_gb, autoextensible, status, null from dba_temp_files order by 2;
TABLESPACE_NAME FILE_ID FILE_NAME GB MAX_GB AUT STATUS ONLINE_
-------------------- ---------- ---------------------------------------------------------------------- ---------- ---------- --- --------- -------
TEMP 3 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/temp01.dbf 1 32 YES ONLINE
SYSTEM 23 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/system01.dbf .53 32768 YES AVAILABLE SYSTEM
SYSAUX 24 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/sysaux01.dbf .71 32768 YES AVAILABLE ONLINE
UNDOTBS1 25 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/undotbs01.dbf 12.95 32 YES AVAILABLE ONLINE
TBS_STRIPING 126 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/tbs_01.dbf 1 0 NO AVAILABLE ONLINE
TBS_STRIPING 127 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/tbs_02.dbf 1 0 NO AVAILABLE ONLINE
TBS_STRIPING 128 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/tbs_03.dbf 1 0 NO AVAILABLE ONLINE
TBS_STRIPING 129 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/tbs_04.dbf 1 0 NO AVAILABLE ONLINE
TBS_STRIPING 130 /app/oracle/oradata/ORACLE26/ORACLE26PDB1/tbs_05.dbf 1 0 NO AVAILABLE ONLINE
9 rows selected.
|
현재 USERS 테이블스페이스가 없음
USERS 테이블스페이스 생성
|
1
2
3
|
SQL> create tablespace users datafile '/app/oracle/oradata/ORACLE26/ORACLE26PDB1/users01.dbf' size 1g;
Tablespace created.
|
일반 유저의 default tablespace를 users 테이블스페이스로 변경
|
1
2
3
|
SQL> alter user eric default tablespace users;
User altered.
|
다시 접속 후 테이블 생성 시도
|
1
2
3
4
5
6
7
8
9
10
11
|
$ sqlplus eric/eric@localhost:1521/ORACLE26PDB1
SQL>
CREATE TABLE IF NOT EXISTS ora_parameters (
param_id NUMBER PRIMARY KEY,
param_name VARCHAR2(100),
description VARCHAR2(4000),
-- 모델의 출력에 맞춰 384차원 VECTOR로 선언
embedding VECTOR(384, FLOAT32)
);
Table created.
|
정상적으로 생성됨
추가로 아래 명령어까지 해주면 추후 다른 유저 생성시에도 users 테이블스페이스가 기본 테이블스페이스로 지정될수 있음
|
1
2
3
|
SQL> alter database default tablespace users;
Database altered.
|
원인 : system 테이블스페이스가 기본 테이블스페이스로 설정되어 있어 발생한 문제
system 테이블스페이스가 기본 테이블스페이스로 설정되어 있어 발생한 문제
참조 :
오라클 19c alter database default tablespace 명령어 ( https://positivemh.tistory.com/1222 )
'ORACLE > Trouble Shooting' 카테고리의 다른 글
| autoupgrade Download query failed (0) | 2026.05.10 |
|---|---|
| Exception while loading the AutoUpgrade Patching keystore - CommonException [Loading auto-login keystore failed] (0) | 2026.05.10 |
| ORA-27037: unable to obtain file status (0) | 2026.03.24 |
| ORA-48128: opening of a symbolic link is disallowed (0) | 2026.03.22 |
| ORA-12547: TNS:lost contact (0) | 2026.03.17 |
