step by step oracle 12c 手工创建CDB数据库(插件数据库)

2024-05-29 20:32

本文主要是介绍step by step oracle 12c 手工创建CDB数据库(插件数据库),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


### Code Reference
  • URL:https://blog.csdn.net/leshami/article/details/72821806
  • DESC:12c下手工创建CDB数据库(参考docker实例化Oracle12c EE作为部署基础)
  • Last Update:2020-7-14 16:00
    • CDB创建相关说明

      使用CREATE DATABASESQL语句创建CDB非常类似于创建非CDB.使用CREATE DATABASESQL语句创建CDB时,必须启用PDB并指定根文件和种子文件的名称和位置.要创建CDB,CREATE DATABASE语句必须包含ENABLE PLUGGABLE DATABASE子句.当包含此子句时,该语句使用根和种子创建CDB.如果未指定ENABLE PLUGGABLE DATABASE子句 那新创建的数据库是非CDB.该语句不会创建根和种子,非CDB永远不会包含PDB.

      • 插件库&非插件库初始化差异部分
        • CDB数据库创建时应指定ENABLE PLUGGABLE DATABASE子句

        • CDB数据库应指定根文件和种子文件的名称和位置

            1 使用 seed FILE_NAME_CONVERT 子句SEED FILE_NAME_CONVERT = ('/app/oracle/ora12c/oradata/cdb1/','/app/oracle/ora12c/oradata/pdbseed/')表示将cdb1目录下的文件转换到pdbseed目录下2 基于oracle文件托管方式(OMF)3 使用PDB_FILE_NAME_CONVERT初始化参数
          
        • 可以为PDB种子数据库制定不同的属性

          根SYSTEM和SYSAUX表空间的数据文件的属性可能不适合种子。在这种情况下,您可以使用子句为种子的数据文件指定不同的属性tablespace_datafile。使用这些子句指定所有数据文件包含的属性SYSTEM和SYSAUX表空间中的种子。从根继承的值用于尚未提供其值的任何属性。

            DATAFILE '/u01/app/oracle/oradata/newcdb/system01.dbf' SIZE 325M REUSESYSAUX DATAFILE '/u01/app/oracle/oradata/newcdb/sysaux01.dbf' SIZE 325M REUSE--下面的seed部分使用了不同于上面root容器的配置,--如system数据文件此处大小为125M,而root容器中为352M--seed中开启了自动扩展,sysaux也同样使用了一些不同于root容器的属性--对于在seed中未明确指定的属性,则继承root容器数据文件属性SEEDSYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITEDSYSAUX DATAFILES SIZE 100M
          
    • CDB数据库创建

        --设定环境变量$ export ORACLE_SID=cdb1$ export ORACLE_UNQNAME=cdb1--创建相应目录$ mkdir -pv /u01/app/oracle/oradata/cdb1$ mkdir -pv /u01/app/oracle/oradata/pdbseed--生成参数文件$ mount -o remount,size=1500m /dev/shm/$ df -h | grep shm$ vi $ORACLE_HOME/dbs/initcdb1.oraDB_NAME=cdb1CONTROL_FILES='/u01/app/oracle/oradata/cdb1/contorl01.ctl'MEMORY_TARGET=380mENABLE_PLUGGABLE_DATABASE=true--开始建库$ sqlplus / as sysdbaSQL> create spfile from pfile='$ORACLE_HOME/dbs/initcdb1.ora';SQL> startup nomount;ORA-00845: MEMORY_TARGET not supported on this systemhttps://blog.csdn.net/weixin_39373989/article/details/88189412SQL> CREATE DATABASE cdb1USER SYS IDENTIFIED BY passUSER SYSTEM IDENTIFIED BY passLOGFILE GROUP 1 ('/u01/app/oracle/oradata/cdb1/redo01a.log','/u01/app/oracle/oradata/cdb1/redo01b.log') SIZE 100M BLOCKSIZE 512,GROUP 2 ('/u01/app/oracle/oradata/cdb1/redo02a.log','/u01/app/oracle/oradata/cdb1/redo02b.log') SIZE 100M BLOCKSIZE 512MAXLOGHISTORY 1MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 1024CHARACTER SET AL32UTF8NATIONAL CHARACTER SET AL16UTF16EXTENT MANAGEMENT LOCALDATAFILE '/u01/app/oracle/oradata/cdb1/system01.dbf' SIZE 700MSYSAUX DATAFILE '/u01/app/oracle/oradata/cdb1/sysaux01.dbf' SIZE 550MDEFAULT TABLESPACE deftbsDATAFILE '/u01/app/oracle/oradata/cdb1/deftbs01.dbf' SIZE 500MDEFAULT TEMPORARY TABLESPACE tempts1TEMPFILE '/u01/app/oracle/oradata/cdb1/temp01.dbf' SIZE 20M UNDO TABLESPACE undotbs1DATAFILE '/u01/app/oracle/oradata/cdb1/undotbs01.dbf' SIZE 200M ENABLE PLUGGABLE DATABASE   SEEDFILE_NAME_CONVERT = ('/u01/app/oracle/oradata/cdb1/', '/u01/app/oracle/oradata/pdbseed/')SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITEDSYSAUX DATAFILES SIZE 100MUSER_DATA TABLESPACE usertbsDATAFILE '/u01/app/oracle/oradata/pdbseed/usertbs01.dbf' SIZE 200M;--填充数据字典,如果是12cR2版本,则直接执行catcdb.sql代替以下脚本   --使用sysdba权限执行以下脚本SQL> @?/rdbms/admin/catalog.sql    --数据库字典,动态视图创建等SQL> @?/rdbms/admin/catproc.sql    --PL/SQL存过过程相关代码SQL> @?/rdbms/admin/utlrp.sql      --编译--使用SYSTEM用户执行以下脚本SQL> @?/sqlplus/admin/pupbld.sql   #SQL*Plus相关--验证结果show parameter ENABLE_PLUGGABLE_DATABASE
      

这篇关于step by step oracle 12c 手工创建CDB数据库(插件数据库)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1014571

相关文章

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到