I agree.
In most RDBMSs DDL statements in DEV/Test are carried out by users who are assigned database Owner (DBO) role or aliased to it with little risk. In production users can have DML or DQ permissions (through belonging to appropriate groups/roles). However, no DDL. In general the one who looks after DDL in production (drop, create, truncate tables etc) is the administrator who does releases through approved processes. HTH Mich Talebzadeh http://talebzadehmich.wordpress.com Publications due shortly: Creating in-memory Data Grid for Trading Systems with Oracle TimesTen and Coherence Cache NOTE: The information in this email is proprietary and confidential. This message is for the designated recipient only, if you are not the intended recipient, you should destroy it immediately. Any information in this message shall not be understood as given or endorsed by Peridale Ltd, its subsidiaries or their employees, unless expressly so stated. It is the responsibility of the recipient to ensure that this email is virus free, therefore neither Peridale Ltd, its subsidiaries nor their employees accept any responsibility. From: Lefty Leverenz [mailto:[email protected]] Sent: 02 April 2015 21:56 To: [email protected] Subject: Re: question on create database Could you use SQL standards based authorization to deny CREATE TABLE privileges to everybody except the database owner, and then make people ask the owner to create tables for them? -- Lefty On Thu, Apr 2, 2015 at 4:44 PM, Chen Song <[email protected]> wrote: Got it. Thanks. On Thu, Apr 2, 2015 at 11:29 AM, Alan Gates <[email protected]> wrote: When someone creates a table in your 'abc' database it should by default be in '/my/preferred/directory/_tablename_'. However, users can specify locations for their tables which may not be in that directory. AFAIK there's no way to prevent that. Alan. <mailto:[email protected]> Chen Song April 2, 2015 at 8:15 I have a dumb question on DDL statement "create database" Say if I create a database CREATE DATABASE abc LOCATION '/my/preferred/directory'; When later on someone needs to create a table in this database, is there a way to force the location of the table to be under /my/preferred/directory? I searched around but could not find a way to enforce this. -- Chen Song -- Chen Song
