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:
  • Application is for WBBANK, so name is WBBANK
  • Application DB is running in a individual PDB
  • Application DB has its own tablespace
  • There are two users for this DB, one is to administrate objects of the DB (schema), which is used by DBA and other one is to operate the data, which is used by application

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.

[Oracle] - Create DB on Oracle 12c for an Application的更多相关文章

  1. 全面解读Oracle同义词的概念作用、创建删除查看及Oracle的db link

    Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系. 在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必 ...

  2. 探索Oracle之数据库升级八 12c Downgrade 11gR2

    探索Oracle之数据库升级八 12c Downgrade 11gR2 前言: 我们前面已经完毕了11gR2 upgrade to 12c 的升级,整个过程还是比較顺利的,尽管和曾经版本号升级有些不太 ...

  3. Oracle Berkeley DB Java 版

    Oracle Berkeley DB Java 版是一个开源的.可嵌入的事务存储引擎,是完全用 Java 编写的.它充分利用 Java 环境来简化开发和部署.Oracle Berkeley DB Ja ...

  4. (转)oracle linux 7 安装oracle 12c

    原文:https://blog.csdn.net/jiuyun1986/article/details/53589446 https://blog.csdn.net/admin_root1/artic ...

  5. 了解 Oracle Berkeley DB 可以为您的应用程序带来 NoSQL 优势的原因及方式。

    将 Oracle Berkeley DB 用作 NoSQL 数据存储 作者:Shashank Tiwari 2011 年 2 月发布 “NoSQL”是在开发人员.架构师甚至技术经理中新流行的一个词汇. ...

  6. java.util.MissingResourceException: Can't find resource for bundle oracle.sysman.db.rsc.LoginResourc

    http://blog.itpub.net/197458/viewspace-1055358/   oracle 10.2.0.4 windows 2003 X64 平台 系统安装EMCA正常.第一次 ...

  7. Oracle Enterprise Manager Cloud Control 12c R4 安装配置

    准备软件 em12.1.0.4_linux64_V45344-01.zip em12.1.0.4_linux64_V45345-01.zip em12.1.0.4_linux64_V45346-01. ...

  8. Oracle基础结构认知—初识oracle【转】

    Oracle服务器(oracle server)由实例和数据库组成.其中,实例就是所谓的关系型数据库管理系统(Relational Database Management System,RDBMS), ...

  9. Oracle 11g 新特性 -- Oracle Restart 说明(转载)

    转载:http://blog.csdn.net/tianlesoftware/article/details/8435670 一.  OHASD 说明 Oracle 的Restart 特性是Oracl ...

随机推荐

  1. web应用程序指识别中的指纹收集

    web应用程序指纹识别是入侵前的关键步骤,假设通过指纹识别能确定web应用程序的名称及版本号.下一步就可以在网上搜索已公开的漏洞.或网上搜到其源码然后进行白盒的漏洞挖掘. 指纹识别的核心原理是通过正則 ...

  2. linux ps 命令的结果中VSZ,RSS,STAT的含义和大小

    linux ps 命令的结果中VSZ,RSS,STAT的含义和大小 ps是linux系统的进程管理工具,相当于windows中的资源管理器的一部分功能. 一般来说,ps aux命令执行结果的几个列的信 ...

  3. 10、驱动中的阻塞与非阻塞IO

        阻塞,就是在获取资源的时候,不能获取到,那么就会将当前的进程挂起(睡眠,也就是将当前进程从调度器拿走了,不会调度当前进程),直到满足条件为止再进行操作.相反,非阻塞,就是即使不能获取到资源,非 ...

  4. hibernate(jpa)中注解配置字段为主键

    http://www.blogjava.net/ITdavid/archive/2009/02/25/256605.html 注解方式的主键配置     非自增字段为主键,注解annotation表示 ...

  5. spring揭秘读书笔记----ioc的基本概念

    在看ico概念之前,先想一下我们平常需要依赖某个类时会怎么做? 无非是在要用到的地方写如下代码: Person person = new Person(); //然后就可以用person对象来获取Pe ...

  6. systemd 管理python 程序

    [Unit] Description = test-minapp After = network.target [Service] PermissionsStartOnly = true PIDFil ...

  7. springboot学习(四) 日志管理

    1.简介 Spring Boot内部日志系统使用的是Commons Logging,但开放底层的日志实现.默认为会Java Util Logging, Log4J, Log4J2和Logback提供配 ...

  8. 因DataTable的字段值为DBNull引发的异常

    1 问题重现 (1)新建项目DBNullExp.项目属性为"控制台应用程序": (2)在项目下新建数据集Schools(数据集文件的后缀名为.xsd): watermark/2/t ...

  9. 83. Remove Duplicates from Sorted List【easy】

    83. Remove Duplicates from Sorted List[easy] Given a sorted linked list, delete all duplicates such ...

  10. 类matlab find函数

    逻辑矩阵,找出元素1并记录其位置索引. int main(int argc, char** argv) { unsigned ][] = { , , , , , , , , , , , , , , , ...