Я делал это раньше с SQL, но никогда не пробовал с ADO.NET ...
string connectionString = "...";
string oracleDataPath = "C:\\PATH_TO_ORADATA\\";
string username = "NEW_USER";
string password = "NEW_PWD";
string schema = "NEW_SCHEMA";
using (OracleConnection conn = new OracleConnection(connectionString))
{
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = "CREATE TABLESPACE \"" + schema + "\" DATAFILE '" + oracleDataPath + schema + ".DBF' SIZE 10M AUTOEXTEND ON NEXT 1M";
cmd.ExecuteNonQuery();
cmd.CommandText = "CREATE USER \"" + username + "\" IDENTIFIED BY \"" + password + "\" DEFAULT TABLESPACE \"" + schema + "\" TEMPORARY TABLESPACE TEMP";
cmd.ExecuteNonQuery();
cmd.CommandText = "GRANT CONNECT TO \"" + username + "\"";
cmd.ExecuteNonQuery();
cmd.CommandText = "ALTER USER \"" + username + "\" QUOTA UNLIMITED ON \"" + schema + "\"";
cmd.ExecuteNonQuery();
}
Используйте учетную запись ADMIN / DBA в строке подключения.
Установите для oracleDataPath путь, гдеваш Oracle хранит свои файлы данных.
Дайте мне знать, если он работает: -)