Salut,
je cherche a changer le character set d'une base qui a été créé en WE8MSWIN1252
Je voudrais la modifier en la changent en UTF8 (ISO-8859)
est ce possible et comment
(j'aimerai éviter de recreer une bd)
MErci d'avance
Version imprimable
Salut,
je cherche a changer le character set d'une base qui a été créé en WE8MSWIN1252
Je voudrais la modifier en la changent en UTF8 (ISO-8859)
est ce possible et comment
(j'aimerai éviter de recreer une bd)
MErci d'avance
1. Vérifier le parametre parallel_server dans le fichier init.ora est false (<> ALL)
2. faite un backup de la base (question de securité)
3. lancer les commandes suivantes sous sqlplus comme sysdba
le ALTER DATABASE dure quelque minutesCode:
1
2
3
4
5
6
7
8
9 STARTUP MOUNT; ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0; ALTER DATABASE OPEN; ALTER DATABASE CHARACTER SET <new_character_set>; SHUTDOWN IMMEDIATE; STARTUP RESTRICT;
3. restaurer le parametre parallel_server dans le init.ora
4. lancer la commande suivante
Code:
1
2
3 SHUTDOWN IMMEDIATE; STARTUP;
merci
je test ca de suite!!! :)
attention, ceci entend que les jeux sont compatibles
Voila ce que j'avais écrit à ce sujet :
on peut changer le character set dans toutes les versions bien sûr mais attention à la compatibilité du nouveau.
Pour vérifier que la conversion est possible, commencez par utiliser le Character Set Scanner : http://www.oracle.com/technology//software/tech/globalization/index.html
exemple :
Ensuite la commande suivante suffit :Code:csscan FULL=Y FROMCHAR=WE8ISO8859P1 TOCHAR=WE8ISO8859P15 LOG=P1TOWE8ISO8859P15 CAPTURE=Y ARRAY=1000000 PROCESS=2
Pour les conversions de A vers B dans la liste suivante :Citation:
ALTER DATABASE CHARACTER SET <xxx>;
Citation:
8.1.6 Subset/Superset Pairs
===========================
A. Current Char set B. New Char set (Superset of A.)
------------------- --------------------------------
US7ASCII WE8DEC
US7ASCII US8PC437
US7ASCII WE8PC850
US7ASCII IN8ISCII
US7ASCII WE8PC858
US7ASCII WE8ISO8859P1
US7ASCII EE8ISO8859P2
US7ASCII SE8ISO8859P3
US7ASCII NEE8ISO8859P4
US7ASCII CL8ISO8859P5
US7ASCII AR8ISO8859P6
US7ASCII EL8ISO8859P7
US7ASCII IW8ISO8859P8
US7ASCII WE8ISO8859P9
US7ASCII NE8ISO8859P10
US7ASCII TH8TISASCII
US7ASCII BN8BSCII
US7ASCII VN8VN3
US7ASCII VN8MSWIN1258
US7ASCII WE8ISO8859P15
US7ASCII WE8NEXTSTEP
US7ASCII AR8ASMO708PLUS
US7ASCII EL8DEC
US7ASCII TR8DEC
US7ASCII LA8PASSPORT
US7ASCII BG8PC437S
US7ASCII EE8PC852
US7ASCII RU8PC866
US7ASCII RU8BESTA
US7ASCII IW8PC1507
US7ASCII RU8PC855
US7ASCII TR8PC857
US7ASCII CL8MACCYRILLICS
US7ASCII WE8PC860
US7ASCII IS8PC861
US7ASCII EE8MACCES
US7ASCII EE8MACCROATIANS
US7ASCII TR8MACTURKISHS
US7ASCII EL8MACGREEKS
US7ASCII IW8MACHEBREWS
US7ASCII EE8MSWIN1250
US7ASCII CL8MSWIN1251
US7ASCII ET8MSWIN923
US7ASCII BG8MSWIN
US7ASCII EL8MSWIN1253
US7ASCII IW8MSWIN1255
US7ASCII LT8MSWIN921
US7ASCII TR8MSWIN1254
US7ASCII WE8MSWIN1252
US7ASCII BLT8MSWIN1257
US7ASCII N8PC865
US7ASCII BLT8CP921
US7ASCII LV8PC1117
US7ASCII LV8PC8LR
US7ASCII LV8RST104090
US7ASCII CL8KOI8R
US7ASCII BLT8PC775
US7ASCII WE8DG
US7ASCII WE8NCR4970
US7ASCII WE8ROMAN8
US7ASCII WE8MACROMAN8S
US7ASCII TH8MACTHAIS
US7ASCII HU8CWI2
US7ASCII EL8PC437S
US7ASCII LT8PC772
US7ASCII LT8PC774
US7ASCII EL8PC869
US7ASCII EL8PC851
US7ASCII CDN8PC863
US7ASCII HU8ABMOD
US7ASCII AR8ASMO8X
US7ASCII AR8NAFITHA711T
US7ASCII AR8SAKHR707T
US7ASCII AR8MUSSAD768T
US7ASCII AR8ADOS710T
US7ASCII AR8ADOS720T
US7ASCII AR8APTEC715T
US7ASCII AR8NAFITHA721T
US7ASCII AR8HPARABIC8T
US7ASCII AR8NAFITHA711
US7ASCII AR8SAKHR707
US7ASCII AR8MUSSAD768
US7ASCII AR8ADOS710
US7ASCII AR8ADOS720
US7ASCII AR8APTEC715
US7ASCII AR8MSAWIN
US7ASCII AR8NAFITHA721
US7ASCII AR8SAKHR706
US7ASCII AR8ARABICMACS
US7ASCII LA8ISO6937
US7ASCII JA16VMS
US7ASCII JA16EUC
US7ASCII JA16SJIS
US7ASCII KO16KSC5601
US7ASCII KO16KSCCS
US7ASCII KO16MSWIN949
US7ASCII ZHS16CGB231280
US7ASCII ZHS16GBK
US7ASCII ZHT32EUC
US7ASCII ZHT32SOPS
US7ASCII ZHT16DBT
US7ASCII ZHT32TRIS
US7ASCII ZHT16BIG5
US7ASCII ZHT16CCDC
US7ASCII ZHT16MSWIN950
US7ASCII AL24UTFFSS
US7ASCII UTF8
US7ASCII JA16TSTSET2
US7ASCII JA16TSTSET
8.1.7 Additions
===============
US7ASCII ZHT16HKSCS
US7ASCII KO16TSTSET
WE8DEC TR8DEC
WE8DEC WE8NCR4970
WE8PC850 WE8PC858
D7DEC D7SIEMENS9780X
I7DEC I7SIEMENS9780X
WE8ISO8859P1 WE8MSWIN1252
AR8ISO8859P6 AR8ASMO708PLUS
AR8ISO8859P6 AR8ASMO8X
IW8EBCDIC424 IW8EBCDIC1086
IW8EBCDIC1086 IW8EBCDIC424
LV8PC8LR LV8RST104090
DK7SIEMENS9780X N7SIEMENS9780X
N7SIEMENS9780X DK7SIEMENS9780X
I7SIEMENS9780X I7DEC
D7SIEMENS9780X D7DEC
WE8NCR4970 WE8DEC
WE8NCR4970 TR8DEC
AR8SAKHR707T AR8SAKHR707
AR8MUSSAD768T AR8MUSSAD768
AR8ADOS720T AR8ADOS720
AR8NAFITHA711 AR8NAFITHA711T
AR8SAKHR707 AR8SAKHR707T
AR8MUSSAD768 AR8MUSSAD768T
AR8ADOS710 AR8ADOS710T
AR8ADOS720 AR8ADOS720T
AR8APTEC715 AR8APTEC715T
AR8NAFITHA721 AR8NAFITHA721T
AR8ARABICMAC AR8ARABICMACT
AR8ARABICMACT AR8ARABICMAC
KO16KSC5601 KO16MSWIN949
WE16DECTST2 WE16DECTST
WE16DECTST WE16DECTST2
9.0.1 Additions
===============
US7ASCII BLT8ISO8859P13
US7ASCII CEL8ISO8859P14
US7ASCII CL8ISOIR111
US7ASCII CL8KOI8U
US7ASCII AL32UTF8
BLT8CP921 BLT8ISO8859P13
US7ASCII AR8MSWIN1256
UTF8 AL32UTF8 (added in patchset 9.0.1.2)
Character Set Subset/Superset Pairs Obsolete from 9.0.1
=======================================================
US7ASCII AR8MSAWIN
AR8ARABICMAC AR8ARABICMACT
9.2.0 Additions
===============
US7ASCII JA16EUCTILDE
US7ASCII JA16SJISTILDE
US7ASCII ZHS32GB18030
US7ASCII ZHT32EUCTST
WE8ISO8859P9 TR8MSWIN1254
LT8MSWIN921 BLT8ISO8859P13
LT8MSWIN921 BLT8CP921
BLT8CP921 LT8MSWIN921
AR8ARABICMAC AR8ARABICMACT
ZHT32EUC ZHT32EUCTST
UTF8 AL32UTF8
Character Set Subset/Superset Pairs Obsolete from 9.2.0
=======================================================
LV8PC8LR LV8RST104090
Sinon, il faut faire un export full de la base que vous réimportez dans une base avec le character set souhaité (ou alors vous recréez les control files de la base courante pour modifier le character set cf. l'article sur la copie de base).
L'import détectera alors le changement et convertira les données.
Attention, si la modification n'est pas compatible vous risquez de perdre des données, soyez donc très prudent.
ce serait peut-être pas mal que je l'intégre à la FAQ :oops:
Si vous avez un acces à METALINK, la note 260192.1 correspond à ce que vous voulez faire. Bonne LectureCitation:
Envoyé par osmoze
+1 :ccool:Citation:
Envoyé par orafrance
Le problème c'est qu'il faudrait tester la procédure que je propose et que je ne peux pas le faire :?
Ne serait-il pas important de parler du National Character Set paramètre independant depuis la version9iCitation:
Envoyé par orafrance
pour info:
The National Character set (NLS_NCHAR_CHARACTERSET) is a character set
which is defined in addition to the (normal) database character set and
is used for data stored in NCHAR, NVARCHAR2 and NCLOB columns.
les valeurs possibles:
pour info:
From 9i onwards the NLS_NCHAR_CHARACTERSET can have only 2 values:
UTF8 or AL16UTF16 who are Unicode charactersets.
Por info:
Lors d'une migration d'une base en 8i avec client en 8 vers une base en 9i le NCHAR doit être positionné en UTF8
Sinon le client en 8 ne pourra se connecter .
Exact, merci pour ces précisions :)