Create Databases and Database Users

This section describes database structures and users to be created before installing Globe.

  1. Create a database.

    For example: globedb.

  2. Create the following database users.

    For Oracle, the recommendation for an installation is to use a single database user for installation of 3DGlobe (the user must have database administrator user privileges).

    The following database users are required:

    • an application user, for example:
      User='x3dglobe'

      with the appropriate permissions on globedb.*, to be used by the Globe service.

      The permissions on SQL Server are:

      • Read tables and rows (SELECT)
      • Insert rows (INSERT)
      • Update rows (UPDATE)
      • Delete rows (DELETE)
      • Alter table (ALTER)
    • a database administrator user, for example:

      User='x3dglobeadmin'

      with the appropriate permissions on globedb.*, to be used by the Globe service.

      The permissions on SQL Server are:

      • Create tables (CREATE TABLE)
      • Alter tables (ALTER) to disable constraint checking
      • Read tables and rows (SELECT)
      • Insert rows (INSERT)
      • Update rows (UPDATE)
      • Delete rows (DELETE)
      • Create indexes and constraints.

      The permissions on Oracle are:

      • Read tables and rows (SELECT)
      • Update rows (UPDATE)
      • Delete rows (DELETE)
      • Insert rows (INSERT)
      • Alter tables (ALTER TABLE)
      • Create tables (CREATE TABLE)
      • Delete tables (DROP TABLE)
      • Create indexes and constraints

    Here is an SQL Server database and database user creation sample script:

    USE master;
    -- Create database
    CREATE DATABASE globedb COLLATE Latin1_General_100_CI_AS;
    -- Minimizing deadlock potential
    ALTER DATABASE globedb SET READ_COMMITTED_SNAPSHOT ON;
    -- Create logins
    CREATE LOGIN x3dglobe WITH PASSWORD = 'Passport#1';
    CREATE LOGIN x3dglobeadmin WITH PASSWORD = 'Passport#1';
    USE globedb;
    -- Create users on correct DATABASE (after use) and with correct schema
    CREATE USER x3dglobe FOR LOGIN x3dglobe WITH DEFAULT_SCHEMA = globedb;
    CREATE USER x3dglobeadmin FOR LOGIN x3dglobeadmin WITH DEFAULT_SCHEMA = globedb;
    -- Create schema
    CREATE SCHEMA globedb AUTHORIZATION x3dglobeadmin;
    -- Grant access
    GRANT CREATE TABLE, ALTER, SELECT, INSERT, UPDATE, DELETE ON DATABASE::globedb TO x3dglobeadmin;
    GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON SCHEMA::globedb TO x3dglobe;
    

    Here is an Oracle sample script:

    CREATE USER x3dglobeadmin IDENTIFIED BY x3dglobeadmin;
    GRANT CREATE SESSION TO x3dglobeadmin;
    GRANT RESOURCE TO x3dglobeadmin;
    CREATE SMALLFILE TABLESPACE x3dglobeadmin LOGGING DATAFILE '/tmp/x3dglobeadmin.dbf' SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    ALTER USER x3dglobeadmin default tablespace x3dglobeadmin;
    ALTER USER x3dglobeadmin QUOTA UNLIMITED ON x3dglobeadmin;
    GRANT UNLIMITED TABLESPACE TO x3dglobeadmin;