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;