0

Im not an expert in databases. I am using docker Oracle 12c database for local dev environment. Its an official image from Oracle but they dont give any option to change the NLS_CHARARACTERSET during database creation and it defaults to AL32UTF8. I need to match our test database which is using WE8MSWIN1252. I have tried modifying the charset after db startup but seems to cause lots of issues as WE8MSWIN1252 is not a superset of AL32UTF8. So I was thinking to set it correctly at the start. I found a way to modify the pfile on startup which I think is where it should be set but Im not sure what to put in there.

ORCLCDB.__data_transfer_cache_size=0
ORCLCDB.__db_cache_size=0
ORCLCDB.__inmemory_ext_roarea=0
ORCLCDB.__inmemory_ext_rwarea=0
ORCLCDB.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
*.__shared_io_pool_size=0
*.java_pool_size=0
*.large_pool_size=0
*.shared_pool_size=0
*.streams_pool_size=0
*.audit_file_dest='/u02/app/oracle/audit/ORCLCDB'
*.audit_trail='db'
*.compatible='12.2.0'
*.control_files='/u02/app/oracle/oradata/ORCLCDB/cntrlORCLCDB.dbf','/u03/app/oracle/fast_recovery_area/ORCLCDB/cntrlORCLCDB2.dbf'
*.db_block_size=8192
*.db_files=250
*.db_name='ORCLCDB'
*.db_recovery_file_dest='/u03/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=17814m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLCDBXDB)'
*.enable_pluggable_database=true
*.filesystemio_options='setall'
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_domain='localdomain'
*.sga_target=5120M
*.pga_aggregate_target=3072M
*.db_domain='localdomain'
*.sga_target=1280M
*.pga_aggregate_target=768M

I thought maybe I could just add this at the bottom of the file but its not working and database fails to start:

*.nls_characterset='WE8MSWIN1252'

results in

ERROR at line 1:
ORA-01078: failure in processing system parameters
ORA-32003: error occured processing parameter 'nls_characterset'
LRM-00101: unknown parameter name 'nls_characterset'

What do I need to update to get it to use this character set from the initial creation?

0

I'd have a look at the create database command, specifically the "national character set" .

0

Its worth to check this doc id as it looks similar to your context.

Changing the NLS_CHARACTERSET to AL32UTF8 / UTF8 (Unicode) in 8i, 9i , 10g and 11g (Doc ID 260192.1)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.