What is NLS_DATABASE_PARAMETERS ?
NLS_DATABASE_PARAMETERS is a dictionary view which shows default NLS parameters of a database. Let's see their values.
SQL> set pagesize 1000;
SQL> column parameter format a30;
SQL> column value format a30;
SQL> select * from NLS_DATABASE_PARAMETERS order by 1;
PARAMETER VALUE
------------------------------ ------------------------------
NLS_CALENDAR GREGORIAN
NLS_CHARACTERSET AL32UTF8
NLS_COMP BINARY
NLS_CURRENCY $
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_DUAL_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_LANGUAGE AMERICAN
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS .,
NLS_RDBMS_VERSION 21.0.0.0.0
NLS_SORT BINARY
NLS_TERRITORY AMERICA
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
20 rows selected.
They look like very original.
How to Change NLS_DATABASE_PARAMETERS ?
Since all NLS parameters of a database are determined at database creation time, there's no way to change any value of them.
The purpose of NLS database parameters is to provide a default set of values for users to initiate their sessions.
Please note that, although you can use ALTER SYSTEM SET to change some NLS parameters, the changes only take effect at instance-level after a restart, not database-level.
To change the character set of a database, that's a different approach.