schema is nothing but user,
the command is create user <username> identified by <password>
but you need to do some thing more
identify default tablespace and the temporary tablespace on which you need to create the user/schema.
then after creating the user, you need to grant some of the min priviliege
GRANT CREATE SESSION TO "ABC";
GRANT UNLIMITED TABLESPACE TO "ABC";
GRANT "CONNECT" TO "ABC";
GRANT "RESOURCE" TO "ABC";
further based on the requirement you need to give other privilege
liek create table,create trigger etc.
CREATE SCHEMA AUTHORIZATION <Same as Username>
CREATE TABLE <table_name>
CREATE VIEW <view_name>
AS SELECT <col1, col2..> FROM <tab_name> WHERE <condition>
GRANT <something> ON <something>TO <someone>;
What do you mean by a schema. Yes, in Oracle a schema is associated with a user. Do you mean how do you get the SQL to recreate an existing schema - that is a more interesting question.
Oracle 9i has the DBMS_METADATA package - the DBMS_METADATA.GET_DDL('TABLE', '<tablename>') will put out a LONG variable (do you have this set in SQL*Plus?) with the DDL to create a table.
You can also do an Import with the INDEXFILE option that will generate a file with all your indexes and all your tables defined. The tables are commented out with ">" at the beginning of the line - you can easily use a test editor to remove these. When you use the INDEXFILE option with import it does not actually import any data.