oscar.sql 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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 global_table
  20. (
  21. XID VARCHAR2(128) NOT NULL,
  22. TRANSACTION_ID NUMBER(19),
  23. STATUS NUMBER(3) NOT NULL,
  24. APPLICATION_ID VARCHAR2(32),
  25. TRANSACTION_SERVICE_GROUP VARCHAR2(32),
  26. TRANSACTION_NAME VARCHAR2(128),
  27. TIMEOUT NUMBER(10),
  28. BEGIN_TIME NUMBER(19),
  29. APPLICATION_DATA VARCHAR2(2000),
  30. GMT_CREATE TIMESTAMP(0),
  31. GMT_MODIFIED TIMESTAMP(0),
  32. PRIMARY KEY (XID)
  33. );
  34. CREATE INDEX idx_status_gmt_modified ON global_table (STATUS, GMT_MODIFIED);
  35. CREATE INDEX idx_transaction_id ON global_table (TRANSACTION_ID);
  36. -- the table to store BranchSession data
  37. CREATE TABLE branch_table
  38. (
  39. BRANCH_ID NUMBER(19) NOT NULL,
  40. XID VARCHAR2(128) NOT NULL,
  41. TRANSACTION_ID NUMBER(19),
  42. RESOURCE_GROUP_ID VARCHAR2(32),
  43. RESOURCE_ID VARCHAR2(256),
  44. BRANCH_TYPE VARCHAR2(8),
  45. STATUS NUMBER(3),
  46. CLIENT_ID VARCHAR2(64),
  47. APPLICATION_DATA VARCHAR2(2000),
  48. GMT_CREATE TIMESTAMP(6),
  49. GMT_MODIFIED TIMESTAMP(6),
  50. PRIMARY KEY (BRANCH_ID)
  51. );
  52. CREATE INDEX idx_xid ON branch_table (XID);
  53. -- the table to store lock data
  54. CREATE TABLE lock_table
  55. (
  56. ROW_KEY VARCHAR2(128) NOT NULL,
  57. XID VARCHAR2(128),
  58. TRANSACTION_ID NUMBER(19),
  59. BRANCH_ID NUMBER(19) NOT NULL,
  60. RESOURCE_ID VARCHAR2(256),
  61. TABLE_NAME VARCHAR2(32),
  62. PK VARCHAR2(36),
  63. STATUS NUMBER(3) DEFAULT 0 NOT NULL,
  64. GMT_CREATE TIMESTAMP(0),
  65. GMT_MODIFIED TIMESTAMP(0),
  66. PRIMARY KEY (ROW_KEY)
  67. );
  68. comment on column lock_table.STATUS is '0:locked ,1:rollbacking';
  69. CREATE INDEX idx_branch_id ON lock_table (BRANCH_ID);
  70. CREATE INDEX idx_lock_table_xid ON lock_table (XID);
  71. CREATE INDEX idx_status ON lock_table (STATUS);
  72. CREATE TABLE distributed_lock (
  73. LOCK_KEY VARCHAR2(20) NOT NULL,
  74. LOCK_VALUE VARCHAR2(20) NOT NULL,
  75. EXPIRE DECIMAL(18) NOT NULL,
  76. PRIMARY KEY (LOCK_KEY)
  77. );
  78. INSERT INTO distributed_lock (LOCK_KEY, LOCK_VALUE, EXPIRE) VALUES ('AsyncCommitting', ' ', 0);
  79. INSERT INTO distributed_lock (LOCK_KEY, LOCK_VALUE, EXPIRE) VALUES ('RetryCommitting', ' ', 0);
  80. INSERT INTO distributed_lock (LOCK_KEY, LOCK_VALUE, EXPIRE) VALUES ('RetryRollbacking', ' ', 0);
  81. INSERT INTO distributed_lock (LOCK_KEY, LOCK_VALUE, EXPIRE) VALUES ('TxTimeoutCheck', ' ', 0);
  82. CREATE TABLE VGROUP_TABLE
  83. (
  84. VGROUP VARCHAR2(255) PRIMARY KEY,
  85. NAMESPACE VARCHAR2(255),
  86. CLUSTER VARCHAR2(255)
  87. );