Oracle-12c
我需要在 pfile 中添加什麼來更改 NLS_CHARACTERSET?
我不是數據庫專家。我正在為本地開發環境使用 docker Oracle 12c 數據庫。它是來自 Oracle 的官方圖像,但他們沒有提供在數據庫創建期間更改 NLS_CHARARACTERSET 的任何選項,並且預設為 AL32UTF8。我需要匹配我們使用 WE8MSWIN1252 的測試數據庫。我曾嘗試在數據庫啟動後修改字元集,但似乎會導致很多問題,因為 WE8MSWIN1252 不是 AL32UTF8 的超集。所以我想在一開始就正確設置它。我找到了一種在啟動時修改 pfile 的方法,我認為它應該設置在哪裡,但我不知道該放什麼。
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
我想也許我可以在文件底部添加它,但它不起作用並且數據庫無法啟動:
*.nls_characterset='WE8MSWIN1252'
結果是
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'
我需要更新什麼才能讓它使用最初創建的這個字元集?
我會看看create database 命令,特別是“國家字元集”。
值得檢查此文件 ID,因為它看起來與您的上下文相似。
在 8i、9i、10g 和 11g 中將 NLS_CHARACTERSET 更改為 AL32UTF8 / UTF8 (Unicode)(文件 ID 260192.1)