Rumah >pangkalan data >Oracle >Bagaimana untuk menukar set aksara dalam oracle
Dalam Oracle, anda boleh menggunakan pernyataan set aksara "ALTER DATABASE" untuk menukar set aksara Format sintaks ialah "ALTER DATABASE [db_name] CHARACTER SET new_character_set;".
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Oracle 11g, komputer Dell G3.
Penukaran Set Aksara Oracle
Set aksara adalah berdasarkan skema pengekodan aksara tertentu, memberikan nilai berbezakepada sesuatu set simbol yang dikodkan.
Dalam penggunaan harian, set watak pelayan dan klien mestilah konsisten.
--服务端 select * from nls_database_parameters; --客户端 SELECT USERENV('LANGUAGE') FROM DUAL;
Pelarasan set aksara pangkalan data yang paling biasa digunakan ialah arahan ALTER dan eksport dan import lengkap.
Pertama, pernyataan set aksara ALTER DATABASE ialah cara terpantas untuk memindahkan set aksara, tetapi ia hanya boleh digunakan dalam keadaan khas.
UBAH DATABASE pernyataan set aksara tidak melakukan sebarang penukaran data, jadi ia boleh digunakan jika dan hanya jika set aksara baharu ialah superset ketat set aksara semasa.
--ALTER DATABASE字符集语句的语法如下,db_name为可选项: ALTER DATABASE [db_name] CHARACTER SET new_character_set;
Kaedah kedua
kaedah pam data (EXPDP/IMPDP) adalah lebih mahal, memakan masa dan mengambil banyak sumber serta memerlukan data untuk dipindahkan semasa penghijrahan Imbas untuk melihat sama ada ralat penukaran set aksara dan pemotongan data berlaku semasa penghijrahan.
Penghijrahan set aksara pangkalan data mempunyai dua peringkat: pengimbasan data dan penukaran data.
Sebelum menukar set aksara pangkalan data, gunakan alat pengimbasan set aksara untuk menentukan jumlah kerja yang diperlukan sebelum menukar set aksara pangkalan data.
Gunakan Data Pump untuk mengimport dan mengeksport contoh skrip Skrip perlu dilaksanakan pada pelayan pangkalan data:
--查看管理员目录 确认导出文件位置路径 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
Tutorial yang disyorkan: "Tutorial Oracle"
Atas ialah kandungan terperinci Bagaimana untuk menukar set aksara dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!