Oracle Database 12C 学习之多租户(连载二)
这里我们只阐述前两种创建CDB的方式,其他方式,各位小伙伴可以自己琢磨。
使用create database命令创建CDB,实际上就是手工建库了。
手工建库的内容,在官方文档的管理员手册中的第二章中的
Creating a Database with the CREATE DATABASE Statement已有详细描述。这里不做赘述。只说在创建普通数据库也就是non-CDB和CDB时的区别。
1,参数文件部分:
需要添加enable_pluggable_database,并且该参数必须为true。
2,create database语句部分(注意目录需要事先创建):
CREATE DATABASE newcdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 (/u01/logs/my/redo01a.log,/u02/logs/my/redo01b.log) SIZE 100M, GROUP 2 (/u01/logs/my/redo02a.log,/u02/logs/my/redo02b.log) SIZE 100M, GROUP 3 (/u01/logs/my/redo03a.log,/u02/logs/my/redo03b.log) SIZE 100M MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 1024 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE /u01/app/oracle/oradata/newcdb/system01.dbf SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED SYSAUX DATAFILE /u01/app/oracle/oradata/newcdb/sysaux01.dbf SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED DEFAULT TABLESPACE deftbs DATAFILE /u01/app/oracle/oradata/newcdb/deftbs01.dbf SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE /u01/app/oracle/oradata/newcdb/temp01.dbf SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED UNDO TABLESPACE undotbs1 DATAFILE /u01/app/oracle/oradata/newcdb/undotbs01.dbf SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT = (/u01/app/oracle/oradata/newcdb/, /u01/app/oracle/oradata/pdbseed/) SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED SYSAUX DATAFILES SIZE 100M USER_DATA TABLESPACE usertbs DATAFILE /u01/app/oracle/oradata/pdbseed/usertbs01.dbf SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
这里,着重看一下黑体部分的内容。
需要指定种子容器的文件存放路径。
3,脚本执行部分
原来手工建库完成之后,需要以sys用户执行$ORACLE_HOME/rdbms/admin下面的catalog.sql,以及catproc.sql,当然,还可以执行$ORACLE_HOME/sqlplus/admin下面的pupbld.sql。
但是在创建CDB的时候,oracle建议使用perl脚本运行所有上述sql。
[oracle@ora12 ~]$ cd /u01/oracle/product/11.2.0/rdbms/admin/ [oracle@ora12 admin]$ ls -lrt|grep catcon.pl -rw-r--r--. 1 oracle oinstall 13220 Jun 14 2014 catcon.pl [oracle@ora12 admin]$ more catcon.pl
运行命令如下:
[oracle@ora12 admin]$ perl catcon.pl -u sys/oracle -s -e -d $ORACLE_HOME/rdbms/admin -b catalog1 catalog.sql catalog.log; [oracle@ora12 admin]$ perl catcon.pl -u sys/oracle -s -e -d $ORACLE_HOME/rdbms/admin -b catproc1 catproc.sql catproc.log; [oracle@ora12 admin]$ perl catcon.pl -u system/oracle -s -e -d $ORACLE_HOME/sqlplus/admin -b pupbld1 pupbld.sql pupbld.log;
完成之后,就可以连接CDB进行维护及后继操作了。
需要记得前面选择了高级安装模式,然后在这里,你就可以设置数据库为CDB,并且指定pdb的个数及其名称的前缀。
CDB创建完成之后,
SYS@ora12c select name,cdb from v$database; NAME CDB --------- --- ORA12C YES
可以看到,我们创建的就是CDB。
SYS@ora12c select con_id,name from v$containers;我这里的环境,是使用DBCA方式创建了一个带有一个PDB的CDB。
也可以使用SYS_CONTEXT函数:
SYS@ora12c SELECT SYS_CONTEXT (USERENV, CON_NAME) FROM DUAL; SYS_CONTEXT(USERENV,CON_NAME) -------------------------------------------------------------------------------- CDB$ROOT管理CDB时,通常需要使用sys用户连接到根容器。只有在使用具有sysdba权限的用户,才可以执行如下操作:
1,实例的启动和关闭;
2,归档的启用和关闭;
3,管理所有与CDB相关的设置,比如修改内存设置;
4,对数据文件进行备份和恢复操作;
5,管理控制文件;
6,管理redo log;
7,管理根容器的undo 表空间;
8,管理根容器的临时表空间;
9,创建公共用户及角色。
ok,我们来看相关的实验:
[oracle@ora12 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Thu Dec 17 09:13:35 2015 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to an idle instance. SYS@ora12c startup ORACLE instance started. Total System Global Area 838860800 bytes Fixed Size 2929936 bytes Variable Size 687868656 bytes Database Buffers 142606336 bytes Redo Buffers 5455872 bytes Database mounted. Database opened. SYS@ora12c show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORA12C_PDB1 MOUNTED SYS@ora12c alter pluggable database ora12c_pdb1 open;--打开某一个可插拔数据库。
SYS@ora12c show pdbs;
/u01/oracle/oradata/ora12g/pdbseed/pdbseed_temp012015-10-08_07-32-05-PM.dbf--可见,种子容器中默认只有system,sysaux以及temp表空间。
SYS@ora12c shutdown immediate; ORA-65017: seed pluggable database may not be dropped or altered切换到可插拔数据库:
SYS@ora12c alter session set container=ORA12C_PDB1; Session altered. SYS@ora12c shutdown immediate; Pluggable Database closed.---可插拔数据库是可以关闭或者打开的,但是种子容器就不行了。
本文来自云栖社区合作伙伴“DBGEEK”
界面1:Configure Security Updates 取消选择“I wish to receive security updates via My Oracle Support”, 点击“next” 弹出的提示框选择“Yes” 界面2:Installation Option ...
相关文章
- simvision1 database和invoke
- Error connecting to database [Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)]
- 问题-FireDAC连接Sqlite3提示“unable to open database file”
- Oracle-查看oracle是否有表被锁
- 【Oracle】oracle的LAG和LEAD分析函数
- PL/SQL Developer的安装以及与64位Oracle Database进行连接
- 《oracle每日一练》Oracle DBLink连接数过多的问题(Ora-02020)
- 《oracle每天一练》Oracle冷备份与数据恢复
- SSRS ReportServer Database 的Blocking问题
- Database 'xxxx' is being recovered. Waiting until recovery is finished.
- Oracle Database 11g Express Editon介绍及安装
- Configure Oracle GoldenGate for Oracle to Oracle Database Synchronization
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
- [AWS Design Cost-Optimized Architectures] 4.2 Identify cost-effective compute and database services
- [Docker] Link the Java application and database Docker containers
- 如何简化 Oracle Linux 上 Oracle Database 的安装
- C# 连接Oracle数据库,免安装oracle客户端
- SAP HANA Database Explorer 里 SQL console 的用法
- Atitit oracle新特性5 6 7 8 9 10 11 12 18 19 20 attilax总结 目录 1.1. :ora 20c1 1.2. Oracle Database 19c 的
- ESF Database Migration Toolkit - 11.0.11
- Oracle中添加虚拟列(emp是oracle自带表)
- Database之SQLSever:数据库管理人员国家职业资格证书中高级考试知识点(流式文件/封锁机制/三级模式(模式/内模式/外模式)/事务及其ACID特性/数据依赖/数据库的特点/安全/层次-网状
- Database之SQLSever:SQL函数(字符串函数、数学函数、文本和图像函数、日期和时间函数、系统函数等)相关概念及其相关案例之详细攻略
- Database之SQL:SQL命令实现理解外键、约束(非空约束/唯一性约束/CHECK约束/主键约束/外键约束/查询约束)的概念及其相关案例之详细攻略
- How to Install Oracle 12.2.0.1 Database software in silent mode
- What Is CONTROL FILE in Oracle Database
- How To Enable Archive Log Mode In Oracle Database 19c
- How to Setup Archive Log Destination Directory in Oracle Database
- SQL and Database Systems 基本知识
- MVC模式下 provider: SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。指定的 LocalDB 实例不存在