oracle 创建cdb,oracle 12.2手工创建 CDB

创建密码文件

cd $ORACLE_HOME/dbs/

orapwd file=orapwnewcdb password=oracle format=12 entries=10

创建目录

mkdir -p /u01/app/oracle/oradata/newcdb/pdbseed

创建静态参数文件

建议的最小初始化参数文件:db_name,control_files,memory_target

cd $ORACLE_HOME/dbs/

vim initnewcdb.ora

db_name=newcdb

control_files=(’/u01/app/oracle/oradata/newcdb/control01.ctl’,’/u01/app/oracle/oradata/newcdb/control02.ctl’,’/u01/app/oracle/oradata/newcdb/control03.ctl’)

memory_target=800m

enable_pluggable_database=TRUE

切换环境并启动到 nomount

export ORACLE_SID=newcdb

sqlplus / as sysdba

create spfile from pfile;

startup nomount;

执行建库语句

CREATE DATABASE newcdb

USER SYS IDENTIFIED BY oracle

USER SYSTEM IDENTIFIED BY oracle

LOGFILE GROUP 1 (’/u01/app/oracle/oradata/newcdb/redo01a.log’,’/u01/app/oracle/oradata/newcdb/redo01b.log’)

SIZE 100M BLOCKSIZE 512,

GROUP 2 (’/u01/app/oracle/oradata/newcdb/redo02a.log’,’/u01/app/oracle/oradata/newcdb/redo02b.log’)

SIZE 100M BLOCKSIZE 512,

GROUP 3 (’/u01/app/oracle/oradata/newcdb/redo03a.log’,’/u01/app/oracle/oradata/newcdb/redo03b.log’)

SIZE 100M BLOCKSIZE 512

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 USERS

DATAFILE ‘/u01/app/oracle/oradata/newcdb/users01.dbf’

SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

DEFAULT TEMPORARY TABLESPACE TEMP

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/newcdb/pdbseed/’)

LOCAL UNDO ON;

数据库创建完成,检查数据库的状态是:OPEN

SYS@newcdb> select status from v$instance;

STATUS

OPEN

SYS@newcdb>

后续工作:

执行脚本:

第一步:修改ORACLEHOME/rdbms/admin/catcdb.pl[oracle@enmoedu1admin]ORACLE_HOME/rdbms/admin/catcdb.pl

[oracle@enmoedu1 admin]ORACLEH​OME/rdbms/admin/catcdb.pl[oracle@enmoedu1admin]vi $ORACLE_HOME/rdbms/admin/catcdb.pl

把util修改为Util

use Term::ReadKey; # to not echo password

use Getopt::Long;

use Cwd;

use File::Spec;

use Data::Dumper;

use Util qw(trim, splitToArray);

use catcon qw(catconSqlplus);

第二步:设置环境perl的环境变量:

[oracle@enmoedu1 ~]$ vi .bash_profile

添加如下的环境变量:

export PATH=ORACLEHOME/bin:ORACLE_HOME/bin:ORACLEH​OME/bin:ORACLE_HOME/OPatch:ORACLEHOME/perl/bin:ORACLE_HOME/perl/bin:ORACLEH​OME/perl/bin:ORACLE_HOME/jdk/bin:$PATH

[oracle@enmoedu1 ~]$ source .bash_profile

第三步:执行脚本:

首先切换到perl的目录下:

[oracle@enmoedu1 ~]$cd $ORACLE_HOME/perl/lib/5.22.0/x86_64-linux-thread-multi/Hash

[oracle@enmoedu1 ~]sqlplus / as sysdba

SYS@newcdb>@?/rdbms/admin/catcdb.sql

SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2

Enter value for 1: /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin

Enter value for 2: /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin/catcdb.pl

Enter new password for SYS: oracle

Enter new password for SYSTEM: oracle

Enter temporary tablespace name: temp

No options to container mapping specified, no options will be installed in any containers

catcon: ALL catcon-related output will be written to [/U01/app/oracle/product/12.2/rdbms/admin/catalog_catcon_46984.lst]

catcon: See [/U01/app/oracle/product/12.2/rdbms/admin/catalog*.log] files for output generated by s

catcon: See [/U01/app/oracle/product/12.2/rdbms/admin/catalog_*.lst] files for spool files, if any

然后就是一段时间的等待,可以从日志看到会关联调用catalog.sql,catproc.sql等脚本文件。

第四步:使用SYSTEM用户执行SQL*Plus相关脚本

SYS@newcdb>conn system/oracle

SYS@newcdb>@?/sqlplus/admin/pupbld.sql

第五步:验证结果

SYS@newcdb> show parameter pluggable

NAME TYPE VALUE

enable_pluggable_database boolean TRUE

SYS@newcdb> show con_name

CON_NAME

CDB$ROOT

SYS@newcdb> show con_id

CON_ID

1

SYS@newcdb> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED

2 PDB$SEED READ ONLY NO

SYS@newcdb> select name from v$datafile where con_id=1;

NAME

/u01/app/oracle/oradata/newcdb/system01.dbf

/u01/app/oracle/oradata/newcdb/sysaux01.dbf

/u01/app/oracle/oradata/newcdb/undotbs01.dbf

/u01/app/oracle/oradata/newcdb/USERS01.dbf

SYS@newcdb> select name from v$datafile where con_id=2;

NAME

/u01/app/oracle/oradata/newcdb/pdbseed/system01.dbf

/u01/app/oracle/oradata/newcdb/pdbseed/sysaux01.dbf

/u01/app/oracle/oradata/newcdb/pdbseed/undotbs01.dbf

/u01/app/oracle/oradata/newcdb/pdbseed/USERS01.dbf

SYS@newcdb> select name from v$tempfile;

NAME

/u01/app/oracle/oradata/newcdb/temp01.dbf

/u01/app/oracle/oradata/newcdb/pdbseed/temp01.dbf

SYS@newcdb>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值