If all you're trying to do is set up range partitioning by month on your table, you don't need to do anything to the date for it to go in the right partition. E.g.:
create table test1 (col1 number,
col2 date)
partition by range (col2)
(partition part_201507 values less than (to_date('01/08/2015', 'dd/mm/yyyy')),
partition part_201508 values less than (to_date('01/09/2015', 'dd/mm/yyyy')),
partition max_val values less than (maxvalue));
insert into test1
select 1, to_date('14/07/2015 01:46:25', 'dd/mm/yyyy hh24:mi:ss') from dual union all
select 2, to_date('08/08/2015 14:19:34', 'dd/mm/yyyy hh24:mi:ss') from dual;
commit;
select * from test1 partition (part_201507);
COL1 COL2
---------- ---------------------
1 14/07/2015 01:46:25
select * from test1 partition (part_201508);
COL1 COL2
---------- ---------------------
2 08/08/2015 14:19:34
alter session set nls_date_format = 'dd/mm/yyyy hh24:mi:ss';
If you're after the month + year so you can, for example, do an aggregate query grouped by month, then simply truncate the date to a month, e.g
select col1,
col2,
trunc(col2, 'mm') mon_col2
from test1;
COL1 COL2 MON_COL2
---------- --------------------- ---------------------
1 14/07/2015 01:46:25 01/07/2015 00:00:00
2 08/08/2015 14:19:34 01/08/2015 00:00:00
Data stored as a DATE datatype doesn't have any particular format except for Oracle's own internal date format. So, if you want to output the date in a human-readable format, it must be converted into a string for display purposes. This can be implicit, based on the format you have set in the nls_date_format parameter, or it can be explicit using TO_CHAR() with whatever format you wish it to be displayed as.
In short, if you want your date to continue to be stored as a DATE datatype, then don't worry about its format, worry only about the precision level you wish to store the date as (seconds/minutes/hours/day/month/year).