Getting an ORA-00972: identifier is too long error when creating an index with multibyte characters using SQLPLUS

Posted on 2009-12-17
Last Modified: 2013-12-07
I'm trying to create an index on a table that has multibyte characters in the table name and also field names.  The index is created correctly if I execute it using Oracle SQL Developer or Tora.  

But, when i issue the query using sqlplus, I get an "ORA-00972: identifier is too long error".  Below is the query.  

create index AP_V”NDÜR_05 on AP_V”NDÜR(V”NDÜR_ID, R”MIT_ADDR”SS_ID)

The characters in the .sql file that contains the create index statement looks correct when I view them in Putty. The file was created in Notepad++ with the UTF8 encoding set.  I also created a second test file directly on the server using vi.  Neither worked.  Even issuing the query directly in sqlplus without piping in a file failed.

I'm out of ideas so I'd appreciate any ideas the community can provide.
Question by:jrram
    LVL 17

    Expert Comment

    Do this:
    set NLS_LANG=american_america.al32utf8
    then run sqlplus / as sysdba .......... etc.
    LVL 17

    Expert Comment

    If it's Linux, you need:
    SET NLS_LANG=american_america.al32utf8

    then in same shell run sqlplus
    LVL 13

    Author Comment

    Thanks, it worked for me.  Below is the code I used:

    [beta@test ~]$ export NLS_LANG="american_america.al32utf8"
    [beta@test ~]$ sqlplus schema/password < create_index_file.sql
    Is there anyway to run an equivalent command after I log into SQLPlus so it only affects that session?  Maybe an alter session command?
    LVL 17

    Accepted Solution

    No, you can concat commands in single line:

    export NLS_LANG="american_america.al32utf8" ; sqlplus schema/password < create_index_file.sql
    LVL 17

    Expert Comment

    You can't do that after logging into sqlplus.

    Featured Post

    Why You Should Analyze Threat Actor TTPs

    After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

    Join & Write a Comment

    Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
    Join Greg Farro and Ethan Banks from Packet Pushers ( and Greg Ross from Paessler ( for a discussion about smart network …
    This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
    This video shows information on the Oracle Data Dictionary, starting with the Oracle documentation, explaining the different types of Data Dictionary views available by group and permissions as well as giving examples on how to retrieve data from th…

    729 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    21 Experts available now in Live!

    Get 1:1 Help Now