6

I have to make a new install for Drupal 7 and i need to request the database space on Oracle DB to the DB guy, who wants to know exactly which permissions should have the drupal account that will handle the database.

I have read a lot do documentation, and everywhere is just said that the account for the database should have full privileges. I have told this to the DB guy and he refused that statement, arguing for example that Drupal will not need the "drop database" privilege, as an example.

So my question is: where can I find the exact minimum list of database privileges that Drupal needs to work properly?

6

There's no official documentation for Oracle (I don't think), but INSTALL.mysql.txt states you need the following permissions for MySQL in Drupal 7:

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER

I came across an INSTALL.oracle.txt on http://drupalcode.org, but I can't vouch for it's accuracy. It says to run the following with regards to permissions:

grant dba, create any trigger, drop any table, select any table, select any sequence, create user to drupal identified by drupal;
grant connect, resource to drupal with admin option;
alter user drupal default tablespace users temporary tablespace temp;

Show both of those files to your DBA, it should be enough for him to go on.

1

Drupal 7 needs more permissions for work correctly if you are using modules like Views, the correct list is:

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES

  • Actually, db_query_temporary existed in every version of Drupal from 4.7 up, and is supposed to exist in 8 too. So if there is separate CREATE TEMPORARY TABLES, Drupal may need it. On the other hand, wouldn't CREATE imply CREATE TEMPORARY? – Mołot Sep 3 '13 at 7:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.