How to set Persian calendar,currency,numbers,date and time and text in oracle database? I have installed oracle database 12c on my laptop.

I want to be able to store text,numbers,calendar,currency,... in my local language (Persian) in database tables and also show contents in Persian when retrieving data from tables.

I'm also using APEX 5 that I want these capabilities in there too?

Is it possible? Does Oracle support these in both database 12c and APEX 5?
How can I set these settings and where?

I'm using Windows 8.1 enterprise x64.
The magic key word is NLS (National Language Support). It will define the dateformat, calender format etc. 

You can query your current NLS-settings with this command:

SELECT * FROM nls_database_parameters;


If you want to change it in a session or an instance you can query the current settings using this views:

SELECT * FROM nls_session_parameters;
-- or
SELECT * FROM nls_instance_parameters;


You need to set this NLS settings, maybe the proper ISO as character set too.

NLS_LANG=ARABIC_SAUDI ARABIA.UTF8
NLS_LANGUAGE=PERSIAN
NLS_CALENDAR=PERSIAN


You have some possible solutions to setting the NLS. If you want to use it globally I would suggest to set it in the initialization parameters.

You can read more about setting the NLS in the docs.

Oracle 12c should support persian, as stated in this whitepaper in the section "New Locale Coverage".

By the way, if you need a larger multi language support, you may want to use AL32UTF8 instead of normal UTF8 language sets. You can read something about it here and here.