Oracle 12c 手动创建CDB和非CDB

0    272    1

Tags:

👉 本文共约5858个字,系统预计阅读时间或需23分钟。

img

使用 SQL*Plus 创建新 CDB 的具体步骤如下所示:

\1. 启动实例之前,使用常用参数准备 init.ora 参数文件: DB_NAME 、 CONTROL_FILES (如果不使用 OMF )以及 DB_BLOCK_SIZE 。 root 的全局数据库名是 CDB 的全局数据库名。需要使用一个新参数,定义已启动实例可用于创建 CDB 而不是非 CDB 。 ENABLE_PLUGGABLE_DATABASE 参数必须设置为 TRUE 。设置 ORACLE_SID 环境变量。启动 SQL*Plus ,以属于 DBA OS 组的 OS 验证用户的身份进行连接,然后执行 STARTUP NOMOUNT 命令。

export ORACLE_SID=LHRCDB1

orapwd file=$ORACLE_HOME/dbs/orapw LHRCDB1 password=lhr format=12 entries=20

vi $ORACLE_HOME/dbs/initLHRCDB1.ora

DB_NAME = LHRCDB1

DB_BLOCK_SIZE =8192

ENABLE_PLUGGABLE_DATABASE =true

db_create_file_dest='+DATA'

sqlplus / as sysdba

startup nomount

\2. 通过使用 CREATE DATABASE 命令和新子句 ENABLE PLUGGABLE DATABASE 创建 CDB 。该子句指定数据库为 CDB 而不是非 CDB 。此时会创建根容器和种子可插入数据库。您可以使用另一个子句 SEED FILE_NAME_CONVERT 指定种子文件的位置。如果省略此子句, OMF 会决定种子文件的名称和位置。 FILE_NAME_CONVERT 指定复制到目标种子目录的根数据文件的源目录。如果使用新的 init.ora 参数 PDB_FILE_NAME_CONVERT 将根数据文件的名称映射到种子数据文件,则会忽略 SEED FILE_NAME_CONVERT 子句。在本例中, /oracle/dbs 和 /oracle/seed 目录必须存在。在语句中定义的字符集依然是 CDB 的唯一字符集。

create database LHRCDB1

user sys identified by lhr

user system identified by lhr

extent management local

default tablespace users

default temporary tablespace temp

undo tablespace undotbs1

enable pluggable database

seed;

\3. 运行 catcdb.sql SQL 脚本。此脚本将安装 CDB 所需的全部组件。

@? /rdbms/admin/catcdb.sql



使用create database创建CDB的具体操作如下:
1.指定实例标识(SID)
ORACLE_SID环境变量被用来区分不同的实例。
1.决定实例的唯一标识SID
2.打开命令窗口
3.设置ORACLE_SID环境变量

在Unix/Linux下设置ORACLE_SID环境变量如下:
export ORACLE_SID=mynewdb

setenv ORACLE_SID=mynewdb

在Windows下设置ORACLE_SID环境变量如下:
set ORACLE_SID=mynewdb

2.确保所需的环境变量被设置
依赖于平台,在启动SQL*Plus之后,可能需要设置相关的环境变量,或者验证相关的设置。例如,在大多数平台中,ORACLE_SID与ORACLE_HOME必须设置。另外,建议PATH环境变量包含ORACLE_HOME/bin目录。在Unix/Linux平
台中,必须手动设置这些环境变量。在Windows平台中,OUI会自动设置ORACLE_HOME与ORACLE_SID。如果在安装期间不创建数据库,OUI不会设置ORACLE_SID,并且在之后创建数据库时必须要设置ORACLE_SID环境变量。

3.选择数据库管理员审核方法
为了创建数据库,用户必须被审核并且被授予相关的系统权限。审核方法有以下两种:
.使用密码文件
.使用操作系统审核

4.创建初始化参数文件
当Oracle实例启动时,它将读取初始化参数文件。这个参数文件可以是文本文件可以使用文本编辑器进行编辑,或者是二进制文件,可以由数据库进行动态修改。二进制参数文件也叫服务器参数文件。对于这一步操作,可以先创建一个文本参数文件,之后通过文本参数文件来创建服务器参数文件。

5.创建实例只限于Windows平台
对于Windows平台,在连接实例之前,必须手动创建实例。ORADIM命令就是用来创建新实例,其语法如下:oradim -NEW -SID sid -STARTMODE MANUAL -PFILE file.注意在创建新实例时,不要将-STARTMODE参数指定为AUTO,因为这会造成新实例启动与mount数据库,而这时数据库是不存在的。

6.连接实例
启动SQL*Plus并且使用有sysdba权限的用户连接到数据库实例。
.使用密码文件进行审核,输入以下命令并输入sys用户的密码
$sqlplus /nolog
SQL>connect sys as sysdba

.使用操作系统审核,输入以下命令
$sqlplus /nolog
SQL>conn / as sysdba

7.创建服务器参数文件
服务器参数文件能通过alter system命令来修改参数,并且这种修改会永久生效。可以通过文本参数文件来创建服务器参数文件。

8.启动实例
启动实例但不mount数据库执行以下命令
startup nomount

9.使用create database语句来创建CDB
当使用create database语句来创建CDB时,必须在操作CDB之前完成额外的操作。这些操作包含对数据字典表创建视图,安装标准的PL/SQL包。执行catcdb.sql脚本。

使用create database语句来创建语句需要注意
9.1 将enable_pluggable_database参数设置为true。在CDB中,db_name参数指定root的名称。将SID设置为root名称是常见的做法。这个名称最多有30个字符。

9.2使用create database语句来创建新的CDB。
9.2.1 不使用OMF来创建CDB

9.2.2 使用OMF来创建CDB

不使用OMF来创建CDB
下面的例子将介绍如何不使用OMF功能来创建CDB
1.设置SID

2.创建密码文件

3.创建初始化参数

4.启动实例但不mount

5.执行create database语句来创建CDB
下面的语句将创建一个名为test的CDB数据库。这个名字与参数文件中的db_name同名。并且满足以下条件:
.已经设置control_files参数
.创建了+data/test/datafile/testcdb目录
.创建了+data/test/datafile/pdbseed目录
.创建了+data/test/onlinelog/testcdb目录

为了创建包含root与CDB seed的CDB库在create database语句中包含了enable pluggable database子句。在这个例子还包含了seed file_name_convert子句来指定CDB seed文件的文件名与目录。

6.执行脚本$ORACLE_HOME/rdbms/admin/catcdb.sql

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复