diff --git a/data/schema.sql b/data/schema_mysql.sql
similarity index 100%
rename from data/schema.sql
rename to data/schema_mysql.sql
diff --git a/data/schema_oracle.sql b/data/schema_oracle.sql
new file mode 100644
index 0000000000000000000000000000000000000000..6fd8a31623d7940ea65080e09d491cad0280276e
--- /dev/null
+++ b/data/schema_oracle.sql
@@ -0,0 +1,30 @@
+CREATE TABLE "USER"
+(	"ID" NUMBER(*,0) NOT NULL ENABLE,
+	"USERNAME" VARCHAR2(255 CHAR),
+	"EMAIL" VARCHAR2(255 CHAR),
+	"DISPLAY_NAME" VARCHAR2(64 CHAR),
+	"PASSWORD" VARCHAR2(128 CHAR) NOT NULL ENABLE,
+	CONSTRAINT "USER_PK" PRIMARY KEY ("ID"),
+	CONSTRAINT "USER_USERNAME_UN" UNIQUE ("USERNAME")
+);
+
+CREATE TABLE "USER_ROLE"
+(	"ID" NUMBER(*,0) NOT NULL ENABLE,
+	"ROLE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE,
+	"IS_DEFAULT" NUMBER(38,0) NOT NULL ENABLE,
+	"PARENT_ID" NUMBER(*,0),
+	CONSTRAINT "USER_ROLE_PK" PRIMARY KEY ("ID")
+	CONSTRAINT "USER_ROLE_ROLE_UN" UNIQUE ("ROLE_ID")
+	CONSTRAINT "USER_ROLE_USER_ROLE_FK" FOREIGN KEY ("PARENT_ID") REFERENCES "USER_ROLE" ("ID") ENABLE
+);
+CREATE INDEX "USER_ROLE_PARENT__IDX" ON "USER_ROLE" ("PARENT_ID");
+
+CREATE TABLE "OSE"."USER_ROLE_LINKER"
+(	"USER_ID" NUMBER(*,0) NOT NULL ENABLE,
+	"ROLE_ID" NUMBER(*,0) NOT NULL ENABLE,
+	CONSTRAINT "USER_ROLE_LINKER_PK" PRIMARY KEY ("USER_ID", "ROLE_ID")
+	CONSTRAINT "USER_ROLE_USER_FK" FOREIGN KEY ("USER_ID") REFERENCES "USER" ("ID") ON DELETE CASCADE ENABLE,
+	CONSTRAINT "USER_ROLE_USER_ROLE_FK" FOREIGN KEY ("ROLE_ID") REFERENCES "USER_ROLE" ("ID") ON DELETE CASCADE ENABLE
+);
+CREATE INDEX "USER_ROLE_LINKER_ROLE_IDX" ON "USER_ROLE_LINKER" ("ROLE_ID");
+CREATE INDEX "USER_ROLE_LINKER_USER_IDX" ON "USER_ROLE_LINKER" ("USER_ID");
\ No newline at end of file