DBE_ILM
API Description
Implements ILM policies, ILM policy evaluation, and API for stopping compression jobs.
API |
Description |
---|---|
EXECUTE_ILM |
Evaluates the specified data and ILM policy based on parameters. If the evaluation is passed, the corresponding compression job is generated. |
STOP_ILM |
Stops a compression job that is being executed based on parameters. |
- DBE_ILM.EXECUTE_ILM
Evaluates the ILM policy based on parameters. The prototype is as follows:
1 2 3 4 5 6 7
DBE_ILM.EXECUTE_ILM( OWNER IN VARCHAR2, OBJECT_NAME IN VARCHAR2, TASK_ID OUT NUMBER, SUBOBJECT_NAME IN VARCHAR2 DEFAULT NULL, POLICY_NAME IN VARCHAR2 DEFAULT 'ALL POLICIES', EXECUTION_MODE IN NUMBER DEFAULT 2);
Table 2 DBE_ILM.EXECUTE_ILM parameters Parameter
Description
OWNER
Schema to which an object belongs.
OBJECT_NAME
Object name.
TASK_ID
Descriptor ID of the generated ADO task.
SUBOBJECT_NAME
Name of a data subobject.
POLICY_NAME
Policy name. You can query the GS_ADM_ILMOBJECTS view to obtain the policy name. The default value DBE_ILM.ILM_ALL_POLICIES indicates all policies on the object. The default value of DBE_ILM.ILM_ALL_POLICIES is 'ALL POLICIES'. Lowercase letters are not supported.
EXECUTION_MODE
Execution mode. The online mode (ILM_EXECUTION_ONLINE) or offline mode (ILM_EXECUTION_OFFLINE) is not involved in this phase.
- DBE_ILM.STOP_ILM
Stops an ILM policy that is being executed based on parameters. The prototype is as follows:
1 2 3 4
DBE_ILM.STOP_ILM( TASK_ID IN NUMBER DEFAULT -1, P_DROP_RUNNING_JOBS IN BOOLEAN DEFAULT FALSE, P_JOBNAME IN VARCHAR2 DEFAULT NULL)
Table 3 DBE_ILM.STOP_ILM parameters Parameter
Description
TASK_ID
Specifies the descriptor ID of the ADO task to be stopped.
P_DROP_RUNNING_JOBS
Determines whether to stop a task that is being executed. The value true indicates that the task is forcibly stopped, and the value false indicates that the task is not stopped.
P_JOBNAME
Specifies the name of the job to be stopped, which can be queried in the GS_MY_ILMEVALUATIONDETAILS view.
When there are a large number of concurrent requests and you run DBE_ILM.STOP_ILM, the system may display the message "Resources are busy, please try again later." In this case, try again later.
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
gaussdb=# ALTER DATABASE set ilm = on; gaussdb=# CREATE Schema ILM_DATA; gaussdb=# SET current_schema=ILM_DATA; BEGIN DBE_ILM_ADMIN.DISABLE_ILM(); DBE_ILM_ADMIN.CUSTOMIZE_ILM(1, 15); DBE_ILM_ADMIN.CUSTOMIZE_ILM(2, 30); DBE_ILM_ADMIN.CUSTOMIZE_ILM(11, 1); DBE_ILM_ADMIN.CUSTOMIZE_ILM(12, 10); DBE_ILM_ADMIN.CUSTOMIZE_ILM(13, 1024); DBE_ILM_ADMIN.CUSTOMIZE_ILM(14, 240); DBE_ILM_ADMIN.ENABLE_ILM(); END; / -- 1.1.2 prepare test data gaussdb=# CREATE SEQUENCE ILM_DATA.ORDER_TABLE_SE_ORDER_ID MINVALUE 1; gaussdb=# CREATE OR REPLACE PROCEDURE ILM_DATA.ORDER_TABLE_CREATE_DATA(NUM INTEGER) IS BEGIN FOR X IN 1..NUM LOOP INSERT INTO ORDER_TABLE VALUES(ORDER_TABLE_SE_ORDER_ID.nextval, 'Snack gift basket A', NOW()); END LOOP; COMMIT; END; / -- 1.1.3 normal procedure -- 1.1.3.1 evaluate succeeded - all policy gaussdb=# CREATE TABLE ILM_DATA.ORDER_TABLE (ORDER_ID INT, GOODS_NAME TEXT, CREATE_TIME TIMESTAMP) WITH (STORAGE_TYPE=ASTORE) ILM ADD POLICY ROW STORE COMPRESS ADVANCED ROW AFTER 1 DAYS OF NO MODIFICATION; BEGIN ILM_DATA.ORDER_TABLE_CREATE_DATA(5); PERFORM PG_SLEEP(2); END; / gaussdb=# SELECT ORDER_ID, DBE_COMPRESSION.GET_COMPRESSION_TYPE('ilm_data', 'order_table', ctid::text, NULL) FROM ILM_DATA.ORDER_TABLE; order_id | get_compression_type ----------+---------------------- 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 (5 rows) gaussdb=# SELECT ORDER_ID, DBE_HEAT_MAP.ROW_HEAT_MAP('ilm_data','order_table', NULL, ctid::text) FROM ILM_DATA.ORDER_TABLE; order_id | row_heat_map ----------+----------------------------------------------- 1 | (ilm_data,order_table,,,16799,16799,"(0,1)",) 2 | (ilm_data,order_table,,,16799,16799,"(0,2)",) 3 | (ilm_data,order_table,,,16799,16799,"(0,3)",) 4 | (ilm_data,order_table,,,16799,16799,"(0,4)",) 5 | (ilm_data,order_table,,,16799,16799,"(0,5)",) (5 rows) DECLARE v_taskid number; BEGIN DBE_ILM.EXECUTE_ILM(OWNER => 'ilm_data', OBJECT_NAME => 'order_table', TASK_ID => v_taskid, SUBOBJECT_NAME => NULL, POLICY_NAME => 'ALL POLICIES', EXECUTION_MODE => 2); RAISE INFO 'Task ID is:%', v_taskid; END; / INFO: Task ID is:1 gaussdb=# SELECT ORDER_ID, DBE_COMPRESSION.GET_COMPRESSION_TYPE('ilm_data', 'order_table', ctid::text, NULL) FROM ILM_DATA.ORDER_TABLE; order_id | get_compression_type ----------+---------------------- 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 (5 rows) gaussdb=# CALL DBE_ILM.STOP_ILM(-1, true, NULL); stop_ilm ---------- (1 row) |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot