>  기사  >  데이터 베이스  >  오라클에서 문자셋을 변환하는 방법

오라클에서 문자셋을 변환하는 방법

青灯夜游
青灯夜游원래의
2022-01-07 16:06:374384검색

Oracle에서는 "ALTER DATABASE" 문자 집합 문을 사용하여 문자 집합을 변환할 수 있습니다. 구문 형식은 "ALTER DATABASE [db_name] CHARACTER SET new_character_set;"입니다.

오라클에서 문자셋을 변환하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Oracle-문자 집합 변환

문자 집합은 특정 문자 인코딩 체계에 따라 특정 기호 집합에 할당된 다양한 숫자 코드 집합입니다.

일상적인 사용에서는 서버와 클라이언트 문자 집합이 일관되어야 합니다.

--服务端
select * from nls_database_parameters;
--客户端
SELECT USERENV('LANGUAGE') FROM DUAL;

데이터베이스 문자 집합 조정에 가장 일반적으로 사용되는 방법은 ALTER 명령과 전체 내보내기 및 가져오기입니다.

첫 번째 ALTER DATABASE 문자 집합 문은 문자 집합을 마이그레이션하는 가장 빠른 방법이지만 특별한 상황에서만 사용할 수 있습니다.

ALTER DATABASE 문자 집합 문은 데이터 변환을 수행하지 않으므로 새 문자 집합이 현재 문자 집합의 엄격한 상위 집합인 경우에만 사용할 수 있습니다.

--ALTER DATABASE字符集语句的语法如下,db_name为可选项:
ALTER DATABASE [db_name] CHARACTER SET new_character_set;

두 번째

데이터 펌프(EXPDP/IMPDP) 방법은 비용이 더 많이 들고 시간이 많이 걸리며 많은 리소스를 차지하며 마이그레이션 중에 데이터 잘림 및 문자가 발생하는지 확인하기 위해 마이그레이션 중에 데이터를 스캔해야 합니다. 마이그레이션 설정 변환 오류입니다.

데이터베이스 문자 집합 마이그레이션에는 데이터 스캐닝과 데이터 변환의 두 단계가 있습니다.

문자 집합 검색 도구를 사용하여 데이터베이스 문자 집합을 변경하기 전에 필요한 작업량을 결정하세요.

Data Pump를 사용하여 스크립트 예제를 가져오고 내보냅니다. 스크립트는 데이터베이스 서버에서 실행되어야 합니다.

--查看管理员目录 确认导出文件位置路径 
SELECT * FROM dba_directories;
--expdp导出 带有条件
expdp 用户/密码@服务名  directory=DATA_PUMP_DIR dumpfile=数据文件文件名.dmp logfile=日志文件文件名.log tables=导出表名 query='" where lsh in (select lsh from table_1 where code !='1' and flag='1')"'
CONTENT选项可选导出结构或数据 导出格式默认为.dmp--impdp导入 导入时重命名 存在表则增加数据 主键重复数据忽略 导入时也可以限定导入时所属表空间
impdp 用户/密码@服务名  directory=DATA_PUMP_DIR dumpfile=数据文件文件名.dmp REMAP_TABLE =导出用户名.导出表名:导入表名 TABLE_EXISTS_ACTION=append data_options=skip_constraint_errors

권장 튜토리얼: "Oracle Tutorial"

위 내용은 오라클에서 문자셋을 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.