[Oracle] - Create DB on Oracle 12c for an Application

时间:2015-07-13 00:49:52   收藏:0   阅读:282

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Let's say we are going to develop a application for a bank, or any other enterprise, this application need a DB. And we decide to choose Oracle 12c. Then we make a plan:</span>

Following is details:

1. Create PDB and its DBA user

sqlplus sys as sysdba

CREATE PLUGGABLE DATABASE PDBWBBANK
  ADMIN USER wbbank_dba IDENTIFIED BY oracle
  ROLES = (dba)
  DEFAULT TABLESPACE WBBANK_DEFAULT
    DATAFILE '/u01/app/oracle/oradata/orcl/pdbs/pdbwbbank/wbbank_default.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED 
  STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M)
  PATH_PREFIX = '/u01/app/oracle/oradata/orcl/pdbs/pdbwbbank/'
  FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/orcl/pdbseed/','/u01/app/oracle/oradata/orcl/pdbs/pdbwbbank/');

2. Open PDB

alter pluggable database pdbwbbank open;

Now you can remote access this pdb with service name, pdbwbbank.

3. Create tablespace

conn wbbank_dba/oracle@pdbwbbank

create tablespace WBBANK datafile '/u01/app/oracle/oradata/orcl/pdbs/pdbwbbank/wbbank01.dbf' size 100M autoextend on next 10M MAXSIZE UNLIMITED;


4. Create admin user and app user

create user wbbank_owner identified by oracle default tablespace WBBANK quota unlimited on WBBANK;
grant connect to wbbank_owner;
grant resource to wbbank_owner;

create user wbbank_user identified by oracle default tablespace WBBANK quota unlimited on WBBANK;
create role wbbank_user_role;
grant create session to wbbank_user_role;
grant wbbank_user_role to wbbank_user;

5. Test

conn wbbank_dba/oracle@pdbwbbank

-- Create table users in schema wbbank_owner
CREATE TABLE wbbank_owner.users
( id number(10) NOT NULL,
  username varchar2(50) NOT NULL UNIQUE,
  password varchar2(50) NOT NULL,
  create_date TIMESTAMP DEFAULT SYSDATE,
  CONSTRAINT users_pk PRIMARY KEY (id)
);

--Must grant access privileges to wbbank_user or wbbank_user_role, otherwise synonym is useless
grant all privileges on wbbank_owner.users to wbbank_user_role;

--Create private synonym in schema wbbank_user
create synonym wbbank_user.users for wbbank_owner.users;

Try
conn wbbank_user/oracle@pdbwbbank

select * from users;

Remarks

  • wbbank_owner is to manage objects, all objects are created under wbbank_owner. It has RESOURCE role. Please note RESOURCE role doesn‘t have synonym creation role.
  • wbbank_user is only to operate data through synonyms.
  • wbbank_dba create synonym and grant privileges to data operator, wbbank_user. It has DBA role, it‘s DBA of this PDB.

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文:http://blog.csdn.net/neuandustbneo/article/details/46840885

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!