Does Clustered index exist in Oracle database? since I read in some blogs
Yes there is.
It is called "index organized table" (IOT) - which in my opinion is the better name as it makes it absolutely clear that the index and the table are the same physical thing (which is the reason why we can have only one clustered index in SQL Server)
If yes, please let me know the SQL statement to create a cluster index.
There is no such thing as create clustered index in Oracle.
To create an index organized table, you use the create table statement with the organization index option.
In Oracle you usually use IOTs for very narrow tables. Very often for tables that only consist of the primary key columns (e.g. m:n mapping tables), e.g.
create table assignment
(
person_id integer not null,
job_id integer not null,
primary key (person_id, job_id)
)
organization index;
You can create IOTs with more column, in that case the you need to define the non-pk columns as "included" columns. E.g. if the assignment table should have additional columns, like start and end date that are not part of the primary key:
create table assignment
(
person_id integer not null,
job_id integer not null,
start_date date,
end_date date,
primary key (person_id, job_id)
)
organization index
including start_date
overflow storage (initial 4k);
See the manual for more details and examples: https://docs.oracle.com/database/121/SQLRF/statements_7002.htm#i2153235
Somewhat unrelated, but maybe interesting anyway:
An interesting blog post that questions SQL Server's (and MySQL's) behaviour of using a clustered index as the default when creating a table:
Unreasonable Defaults: Primary Key as Clustering Key
Coming from an Oracle background I wholeheartedly agree with that.