4.2.1 Requirements

This section lists various requirements for using HeatWave GenAI.

DB System Requirements

Required Resources

  • To create a vector store, you need an Oracle Cloud Infrastructure (OCI) Object Storage bucket for storing files that you want the vector store to ingest.

  • Vector store can ingest files in the following formats: PPT, TXT, HTML, DOC, and PDF. Each file can be upto 100 MB in size.

Required Roles and Privileges

To perform the following HeatWave GenAI functions, ask the admin user to grant you the required roles and privileges:

  • To create a vector store using asynchronous load, the following role and privileges are required:

    • The mysql_task_user role:

      mysql> GRANT 'mysql_task_user'@'%' TO 'user_name'@'%'
    • The VECTOR_STORE_LOAD_EXEC privilege:

      mysql> GRANT VECTOR_STORE_LOAD_EXEC ON *.* TO 'user_name'@'%';
    • The SELECT privilege on the following performance_schema and sys schema tables:

      mysql> GRANT SELECT ON 'performance_schema'.'rpd_nodes' TO 'user_name'@'%'                    
      mysql> GRANT SELECT ON 'performance_schema'.'rpd_table_id' TO 'user_name'@'%'                 
      mysql> GRANT SELECT ON 'performance_schema'.'rpd_tables' TO 'user_name'@'%'                   
      mysql> GRANT SELECT ON 'sys'.'vector_store_load_metadata' TO 'user_name'@'%'                  
      mysql> GRANT SELECT ON 'sys'.'vector_store_load_tables' TO 'user_name'@'%'
    • The EXECUTE privilege on the following stored procedures in the sys schema:

      mysql> GRANT EXECUTE ON PROCEDURE 'sys'.'vector_store_load_current_schema' TO 'user_name'@'%' 
      mysql> GRANT EXECUTE ON PROCEDURE 'sys'.'vector_store_load' TO 'user_name'@'%'
    • The CREATE, ALTER, and EVENT privileges on the schema where you want to set up the vector store table:

      mysql> GRANT CREATE, ALTER, EVENT ON 'schema_name'.* TO 'user_name'@'%'
  • To run the batch queries using ML_GENERATE_TABLE, ML_RAG_TABLE, and ML_EMBED_TABLE, the following privileges are required:

    • SELECT and ALTER privileges on the input table:

      mysql> GRANT SELECT, ALTER ON input_schema.input_table TO 'user_name'@'%';
    • SELECT, INSERT, CREATE, DROP, ALTER, UPDATE privileges on the schema where the output table is created.

      mysql> GRANT SELECT, INSERT, CREATE, DROP, ALTER, UPDATE ON output_schema.* TO 'user_name'@'%';

For more information, see Privileges Provided by MySQL and Default MySQL Privileges.