새싹 DBA/Oracle
impdp 시 에러 ORA-00910: specified length too long for its datatype (RAC 추가)
LIMMI
2024. 11. 12. 14:02
데이터 이관시 ORA-00910 발생
1. 원인
max_string_size 파라미터 설정 값 다름 (default = STANDARD)
SELECT NAME, VALUE
FROM V$PARAMETER
WHERE NAME = 'max_string_size';
조회 시
소스 DB => max_string_size = EXTENDED
타겟 DB => max_string_size = STANDARD
2. 해결방법
** RAC일 경우 startup upgrade 시 ORA-39701 발생.
-- rac의 경우 cluster_database = TRUE 로 되어있음
-- parameter 변경 진행
SQL > alter system set cluster_database=FALSE scope=spfile sid=’*’ ;
- db shutdown
SQL > shutdown immediate;
-- 혹은 서버 단에서
srvctl stop database -d [데이터베이스명]
- startup upgrade
SQL> startup upgrade;
- parameter 변경
--sql
alter system set max_string_size ='EXTENDED'scope=BOTH;
- $ORACLE_HOME/rdbms/admin 에서 utl32k.sql 실행 ( 안하면 db startup 시 에러 )
SQL> START $ORACLE_HOME/rdbms/admin/utl32k.sql
- cluster_database 파라미터 true 로 변경
SQL > alter system set cluster_database=TRUE scope=spfile sid='*';
- shutdown
SQL > shutdown immediate;
-- 혹은 서버단에서
srvctl stop database -d [데이터베이스명]
- DB 재기동
SQL > startup;
-- 혹은 서버단에서
srvctl start database -d [데이터베이스명]