dm.sql 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. --
  2. -- Licensed to the Apache Software Foundation (ASF) under one or more
  3. -- contributor license agreements. See the NOTICE file distributed with
  4. -- this work for additional information regarding copyright ownership.
  5. -- The ASF licenses this file to You under the Apache License, Version 2.0
  6. -- (the "License"); you may not use this file except in compliance with
  7. -- the License. You may obtain a copy of the License at
  8. --
  9. -- http://www.apache.org/licenses/LICENSE-2.0
  10. --
  11. -- Unless required by applicable law or agreed to in writing, software
  12. -- distributed under the License is distributed on an "AS IS" BASIS,
  13. -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. -- See the License for the specific language governing permissions and
  15. -- limitations under the License.
  16. --
  17. -- -------------------------------- The script used when storeMode is 'db' --------------------------------
  18. -- the table to store GlobalSession data
  19. CREATE TABLE "SEATA"."GLOBAL_TABLE"
  20. (
  21. "XID" VARCHAR2(128) NOT NULL,
  22. "TRANSACTION_ID" BIGINT,
  23. "STATUS" TINYINT NOT NULL,
  24. "APPLICATION_ID" VARCHAR2(32),
  25. "TRANSACTION_SERVICE_GROUP" VARCHAR2(32),
  26. "TRANSACTION_NAME" VARCHAR2(128),
  27. "TIMEOUT" INT,
  28. "BEGIN_TIME" BIGINT,
  29. "APPLICATION_DATA" VARCHAR2(2000),
  30. "GMT_CREATE" TIMESTAMP(0),
  31. "GMT_MODIFIED" TIMESTAMP(0),
  32. PRIMARY KEY ("XID")
  33. );
  34. CREATE INDEX "IDX_GMT_MODIFIED_STATUS" ON "SEATA"."GLOBAL_TABLE"("GMT_MODIFIED" ASC,"STATUS" ASC);
  35. CREATE INDEX "IDX_TRANSACTION_ID" ON "SEATA"."GLOBAL_TABLE"("TRANSACTION_ID" ASC);
  36. -- the table to store BranchSession data
  37. CREATE TABLE "SEATA"."BRANCH_TABLE"
  38. (
  39. "BRANCH_ID" BIGINT NOT NULL,
  40. "XID" VARCHAR2(128) NOT NULL,
  41. "TRANSACTION_ID" BIGINT,
  42. "RESOURCE_GROUP_ID" VARCHAR2(32),
  43. "RESOURCE_ID" VARCHAR2(256),
  44. "BRANCH_TYPE" VARCHAR2(8),
  45. "STATUS" TINYINT,
  46. "CLIENT_ID" VARCHAR2(64),
  47. "APPLICATION_DATA" VARCHAR2(2000),
  48. "GMT_CREATE" TIMESTAMP(0),
  49. "GMT_MODIFIED" TIMESTAMP(0),
  50. PRIMARY KEY ("BRANCH_ID")
  51. );
  52. CREATE INDEX "IDX_XID" ON "SEATA"."BRANCH_TABLE"("XID" ASC);
  53. -- the table to store lock data
  54. CREATE TABLE "SEATA"."LOCK_TABLE"
  55. (
  56. "ROW_KEY" VARCHAR2(128) NOT NULL,
  57. "XID" VARCHAR2(128),
  58. "TRANSACTION_ID" BIGINT,
  59. "BRANCH_ID" BIGINT NOT NULL,
  60. "RESOURCE_ID" VARCHAR2(256),
  61. "TABLE_NAME" VARCHAR2(32),
  62. "PK" VARCHAR2(36),
  63. "STATUS" TINYINT NOT NULL DEFAULT 0,
  64. "GMT_CREATE" TIMESTAMP(0),
  65. "GMT_MODIFIED" TIMESTAMP(0),
  66. PRIMARY KEY ("ROW_KEY")
  67. );
  68. COMMENT ON COLUMN "SEATA"."LOCK_TABLE"."STATUS" IS '0:locked ,1:rollbacking';
  69. CREATE INDEX "IDX_BRANCH_ID" ON "SEATA"."LOCK_TABLE" ("BRANCH_ID" ASC);
  70. CREATE INDEX "IDX_STATUS" ON "SEATA"."LOCK_TABLE" ("STATUS" ASC);
  71. CREATE TABLE "SEATA"."DISTRIBUTED_LOCK"
  72. (
  73. "LOCK_KEY" VARCHAR2(20) NOT NULL,
  74. "LOCK_VALUE" VARCHAR2(20) NOT NULL,
  75. "EXPIRE" BIGINT NOT NULL,
  76. PRIMARY KEY ("LOCK_KEY")
  77. );
  78. INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('AsyncCommitting', ' ', 0);
  79. INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('RetryCommitting', ' ', 0);
  80. INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('RetryRollbacking', ' ', 0);
  81. INSERT INTO "SEATA"."DISTRIBUTED_LOCK" ("LOCK_KEY", "LOCK_VALUE", "EXPIRE") VALUES ('TxTimeoutCheck', ' ', 0);
  82. CREATE TABLE "SEATA"."VGROUP_TABLE"
  83. (
  84. `VGROUP` VARCHAR2(255),
  85. `NAMESPACE` VARCHAR2(255),
  86. `CLUSTER` VARCHAR2(255),
  87. PRIMARY KEY (`VGROUP`)
  88. );