广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 12c中怎么手动创建CDB
  • 555
分享到

Oracle 12c中怎么手动创建CDB

2024-04-02 19:04:59 555人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关oracle 12c中怎么手动创建CDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用create database创建CDB的具体

这期内容当中小编将会给大家带来有关oracle 12c中怎么手动创建CDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

使用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

[root@jytest3 ~]# su - oracle
Last login: Fri Aug  4 15:07:33 CST 2017
[oracle@jytest3 ~]$ cd $ORACLE_HOME/dbs

[oracle@jytest3 dbs]$ export ORACLE_SID=test

2.创建密码文件

[oracle@jytest3 dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwtest passWord=abcdefg fORMat=12.2 entries=20

3.创建初始化参数

[oracle@jytest3 dbs]$ vi inittest.ora
db_name='test'
memory_target=4G
memory_max_target=4G
control_files='+data/test/controlfile/testcdb/control01.ctl','+data/test/controlfile/testcdb/control02.ctl'
enable_pluggable_database=true

4.启动实例但不mount

[oracle@jytest3 dbs]$ export ORACLE_SID=test
[oracle@jytest3 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Fri Aug 4 20:59:37 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup pfile='$ORACLE_HOME/dbs/inittest.ora' nomount
ORACLE instance started.

Total System Global Area 4294967296 bytes
Fixed Size                  8628936 bytes
Variable Size            2315257144 bytes
Database Buffers         1962934272 bytes
Redo Buffers                8146944 bytes

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文件的文件名与目录。

SQL> create database test
  2  user sys identified by xxzx_7817600
  3  user system identified by xxzx_7817600
  4  logfile group 1 ('+data/test/onlinelog/testcdb/redo01.log')
  5  size 100m blocksize 512,
  6  group 2 ('+data/test/onlinelog/testcdb/redo02.log')
  7  size 100m blocksize 512,
  8  group 3 ('+data/test/onlinelog/testcdb/redo03.log')
  9  size 100m blocksize 512
 10  maxloghistory 1
 11  maxlogfiles 16
 12  maxlogmembers 3
 13  maxdatafiles 1024
 14  character set al32utf8
 15  national character set al16utf16
 16  extent management local
 17  datafile '+data/test/datafile/testcdb/system01.dbf'
 18  size 700m reuse autoextend on next 10240k maxsize unlimited
 19  sysaux datafile '+data/test/datafile/testcdb/sysaux01.dbf'
 20  size 550m reuse autoextend on next 10240k maxsize unlimited
 21  default tablespace deftbs
 22  datafile '+data/test/datafile/testcdb/deftbs01.dbf'
 23  size 500m reuse autoextend on maxsize unlimited
 24  default temporary tablespace tempts1
 25  tempfile '+data/test/datafile/testcdb/temp01.dbf'
 26  size 20m reuse autoextend on next 640k maxsize unlimited
 27  undo tablespace undotbs1
 28  datafile '+data/test/datafile/testcdb/undotbs01.dbf'
 29  size 200m reuse autoextend on next 5120k maxsize unlimited
 30  enable pluggable database
 31  seed file_name_convert = ('+data/test/datafile/testcdb/','+data/test/datafile/pdbseed/')
 32  local undo on;

Database created.

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

SQL> @$ORACLE_HOME/rdbms/admin/catcdb.sql
SQL>
SQL> Rem The script relies on the caller to have connected to the DB
SQL>
SQL> Rem This script invokes catcdb.pl that does all the work, so we just need to
SQL> Rem construct strings for $ORACLE_HOME/rdbms/admin and
SQL> Rem $ORACLE_HOME/rdbms/admin/catcdb.pl
SQL>
SQL> Rem $ORACLE_HOME
SQL> column oracle_home new_value oracle_home noprint
SQL> select sys_context('userenv', 'oracle_home') as oracle_home from dual;




SQL>
SQL> Rem OS-dependent slash
SQL> column slash new_value slash noprint
SQL> select sys_context('userenv', 'platform_slash') as slash from dual;




SQL>
SQL> Rem $ORACLE_HOME/rdbms/admin
SQL> column rdbms_admin new_value rdbms_admin noprint
SQL> select '&&oracle_home'||'&&slash'||'rdbms'||'&&slash'||'admin' as rdbms_admin from dual;
old   1: select '&&oracle_home'||'&&slash'||'rdbms'||'&&slash'||'admin' as rdbms_admin from dual
new   1: select '/u01/app/oracle/product/12.2.0/db'||'/'||'rdbms'||'/'||'admin' as rdbms_admin from dual




SQL>
SQL> Rem $ORACLE_HOME/rdbms/admin/catcdb.pl
SQL> column rdbms_admin_catcdb new_value rdbms_admin_catcdb noprint
SQL> select '&&rdbms_admin'||'&&slash'||'catcdb.pl' as rdbms_admin_catcdb from dual;
old   1: select '&&rdbms_admin'||'&&slash'||'catcdb.pl' as rdbms_admin_catcdb from dual
new   1: select '/u01/app/oracle/product/12.2.0/db/rdbms/admin'||'/'||'catcdb.pl' as rdbms_admin_catcdb from dual




SQL>
SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2
Enter value for 1:
Enter value for 2:
Can't locate Term/ReadKey.pm in @INC (you may need to install the Term::ReadKey module) (@INC contains: /u01/app/oracle/product/12.2.0/db/rdbms/admin /usr/lib/perl5/site_perl/5.22.0/x86_64-linux /usr/lib/perl5/site_perl/5.22.0 /usr/lib/perl5/5.22.0/x86_64-linux /usr/lib/perl5/5.22.0 .) at /u01/app/oracle/product/12.2.0/db/rdbms/admin/catcdb.pl line 30.
BEGIN failed--compilation aborted at /u01/app/oracle/product/12.2.0/db/rdbms/admin/catcdb.pl line 30.

对于这种错误参考了杨建荣的解决方法,抛出的错误提示找不到ReadKey.pm,Linux,Unix其实都是自带Perl的,但这里需要的文件在$ORACLE_HOME下的Perl目录,只需要把这个目录引用到PATH变量中就可以了,比如:
export PATH=$PATH:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$ORACLE_HOME/jdk/bin

[oracle@jytest3 dbs]$ export PATH=$PATH:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$ORACLE_HOME/jdk/bin
[oracle@jytest3 dbs]$ export ORACLE_SID=test
[oracle@jytest3 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Fri Aug 4 22:12:56 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> @$ORACLE_HOME/rdbms/admin/catcdb.sql
SQL>
SQL> Rem The script relies on the caller to have connected to the DB
SQL>
SQL> Rem This script invokes catcdb.pl that does all the work, so we just need to
SQL> Rem construct strings for $ORACLE_HOME/rdbms/admin and
SQL> Rem $ORACLE_HOME/rdbms/admin/catcdb.pl
SQL>
SQL> Rem $ORACLE_HOME
SQL> column oracle_home new_value oracle_home noprint
SQL> select sys_context('userenv', 'oracle_home') as oracle_home from dual;




SQL>
SQL> Rem OS-dependent slash
SQL> column slash new_value slash noprint
SQL> select sys_context('userenv', 'platform_slash') as slash from dual;




SQL>
SQL> Rem $ORACLE_HOME/rdbms/admin
SQL> column rdbms_admin new_value rdbms_admin noprint
SQL> select '&&oracle_home'||'&&slash'||'rdbms'||'&&slash'||'admin' as rdbms_admin from dual;
old   1: select '&&oracle_home'||'&&slash'||'rdbms'||'&&slash'||'admin' as rdbms_admin from dual
new   1: select '/u01/app/oracle/product/12.2.0/db'||'/'||'rdbms'||'/'||'admin' as rdbms_admin from dual




SQL>
SQL> Rem $ORACLE_HOME/rdbms/admin/catcdb.pl
SQL> column rdbms_admin_catcdb new_value rdbms_admin_catcdb noprint
SQL> select '&&rdbms_admin'||'&&slash'||'catcdb.pl' as rdbms_admin_catcdb from dual;
old   1: select '&&rdbms_admin'||'&&slash'||'catcdb.pl' as rdbms_admin_catcdb from dual
new   1: select '/u01/app/oracle/product/12.2.0/db/rdbms/admin'||'/'||'catcdb.pl' as rdbms_admin_catcdb from dual




SQL>
SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2
Enter value for 1:
Enter value for 2:
Can't locate util.pm in @INC (you may need to install the util module) (@INC contains: /u01/app/oracle/product/12.2.0/db/rdbms/admin /u01/app/oracle/product/12.2.0/db/perl/lib/site_perl/5.22.0/x86_64-linux-thread-multi /u01/app/oracle/product/12.2.0/db/perl/lib/site_perl/5.22.0 /u01/app/oracle/product/12.2.0/db/perl/lib/5.22.0/x86_64-linux-thread-multi /u01/app/oracle/product/12.2.0/db/perl/lib/5.22.0 .) at /u01/app/oracle/product/12.2.0/db/rdbms/admin/catcdb.pl line 35.
BEGIN failed--compilation aborted at /u01/app/oracle/product/12.2.0/db/rdbms/admin/catcdb.pl line 35.

这个问题把util改为Util

[oracle@jytest3 ~]$  find $ORACLE_HOME -name util.pm | wc -l
0

[oracle@jytest3 ~]$ find $ORACLE_HOME -name Util.pm | wc -l
5
[oracle@jytest3 ~]$ find $ORACLE_HOME -name Util.pm
/u01/app/oracle/product/12.2.0/db/perl/lib/5.22.0/x86_64-linux-thread-multi/Hash/Util.pm
/u01/app/oracle/product/12.2.0/db/perl/lib/5.22.0/x86_64-linux-thread-multi/List/Util.pm
/u01/app/oracle/product/12.2.0/db/perl/lib/5.22.0/x86_64-linux-thread-multi/Scalar/Util.pm
/u01/app/oracle/product/12.2.0/db/perl/lib/5.22.0/x86_64-linux-thread-multi/Sub/Util.pm
/u01/app/oracle/product/12.2.0/db/perl/lib/site_perl/5.22.0/Http/Headers/Util.pm

这个过程中到底该选哪个目录下的Util.pm呢,如果多点耐心仔细看看里面的内容还是能够找到一些头绪的,最后选择的是:

/u01/app/oracle/product/12.2.0/db/perl/lib/5.22.0/x86_64-linux-thread-multi/Hash/Util.pm

需要手工修改catcdb.pl脚本
那么问题来了,这个catcdb.pl脚本是不是要改动呢。修改文件catcdb.pl,把下面的util修改为Util

use Term::ReadKey; # to not echo password
use Getopt::Long;
use Cwd;
use File::Spec;
use Data::Dumper;
use Utilqw(trim, splitToArray);
use catcon qw(catconSqlplus);

再来一轮测试,结果发现还是会有报错,这种尝试会让你开始怀疑自己的选择到底是不是正确的方向。如果还是没有找到,说明在当前的环境变量中没有匹配到相关的内容,我们需要直接切换到目录Hash下,然后运行脚本才可以,这个时候输出才算有了改观,提示你输入密码。

[oracle@jytest3 Hash]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Fri Aug 4 22:25:23 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> @$ORACLE_HOME/rdbms/admin/catcdb.sql
SQL> Rem
SQL> Rem $Header: rdbms/admin/catcdb.sql /main/7 2016/06/23 11:38:38 akruglik Exp $
SQL> Rem
SQL> Rem catcdb.sql
SQL> Rem
SQL> Rem Copyright (c) 2013, 2016, Oracle and/or its affiliates.
SQL> Rem All rights reserved.
SQL> Rem
SQL> Rem    NAME
SQL> Rem         catcdb.sql - 
SQL> Rem
SQL> Rem    DESCRIPTION
SQL> Rem         invoke catcdb.pl
SQL> Rem
SQL> Rem    NOTES
SQL> Rem         
SQL> Rem
SQL> Rem    PARAMETERS:
SQL> Rem         - log directory
SQL> Rem         - base for log file name
SQL> Rem
SQL> Rem    MODIFIED   (MM/DD/YY)
SQL> Rem    akruglik    06/21/16 - Bug 22752041: pass --logDirectory and
SQL> Rem                           --logFilename to catcdb.pl
SQL> Rem    akruglik    11/10/15 - use catcdb.pl to collect passowrds and pass them
SQL> Rem                           on to catcdb_int.sql using env vars
SQL> Rem    aketkar     04/30/14 - remove SQL file metadata
SQL> Rem    cxie        08/16/13 - remove SQL_PHASE
SQL> Rem    cxie        07/10/13 - 17033183: add shipped_file metadata
SQL> Rem    cxie        03/19/13 - create CDB with all options installed
SQL> Rem    cxie        03/19/13 - Created
SQL> Rem
SQL>
SQL> set echo on
SQL>
SQL> Rem The script relies on the caller to have connected to the DB
SQL>
SQL> Rem This script invokes catcdb.pl that does all the work, so we just need to
SQL> Rem construct strings for $ORACLE_HOME/rdbms/admin and
SQL> Rem $ORACLE_HOME/rdbms/admin/catcdb.pl
SQL>
SQL> Rem $ORACLE_HOME
SQL> column oracle_home new_value oracle_home noprint
SQL> select sys_context('userenv', 'oracle_home') as oracle_home from dual;




SQL>
SQL> Rem OS-dependent slash
SQL> column slash new_value slash noprint
SQL> select sys_context('userenv', 'platform_slash') as slash from dual;




SQL>
SQL> Rem $ORACLE_HOME/rdbms/admin
SQL> column rdbms_admin new_value rdbms_admin noprint
SQL> select '&&oracle_home'||'&&slash'||'rdbms'||'&&slash'||'admin' as rdbms_admin from dual;
old   1: select '&&oracle_home'||'&&slash'||'rdbms'||'&&slash'||'admin' as rdbms_admin from dual
new   1: select '/u01/app/oracle/product/12.2.0/db'||'/'||'rdbms'||'/'||'admin' as rdbms_admin from dual




SQL>
SQL> Rem $ORACLE_HOME/rdbms/admin/catcdb.pl
SQL> column rdbms_admin_catcdb new_value rdbms_admin_catcdb noprint
SQL> select '&&rdbms_admin'||'&&slash'||'catcdb.pl' as rdbms_admin_catcdb from dual;
old   1: select '&&rdbms_admin'||'&&slash'||'catcdb.pl' as rdbms_admin_catcdb from dual
new   1: select '/u01/app/oracle/product/12.2.0/db/rdbms/admin'||'/'||'catcdb.pl' as rdbms_admin_catcdb from dual




SQL>
SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2
Enter new password for SYS: xxzx_7817600
Enter new password for SYSTEM: xxzx_7817600
Enter temporary tablespace name: tempts1
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.0/db/rdbms/log/catalog_catcon_27898.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catalog*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catalog_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/catproc_catcon_3352.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catproc*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catproc_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/catoctk_catcon_9051.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catoctk*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catoctk_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/owminst_catcon_9233.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/owminst*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/owminst_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_11572.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_11761.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_*.lst] files for spool files, if any
validate_script_path: sqlplus script /u01/app/oracle/product/12.2.0/db/sqlplus/admin/help/hlpbld does not exist or is unreadable
catconExec: empty Path returned by validate_script_path for
    SrcDir = /u01/app/oracle/product/12.2.0/db/sqlplus/admin/help, FileName = hlpbld
catcon.pl: Unexpected error encountered in catconExec; exiting
exec_DB_script: /u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_11761_exec_DB_script.done did not need to be deleted before running a script
exec_DB_script: opened Reader and Writer
exec_DB_script: connected
exec_DB_script: executed set echo on

exec_DB_script: executed @@/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_kill_sess_11761_ALL.sql

exec_DB_script: sent
host sqlplus -v > /u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_11761_exec_DB_script.done to Writer
exec_DB_script: sent -exit- to Writer
exec_DB_script: closed Writer
exec_DB_script: marker was undefined; read and ignore output, if any
exec_DB_script: finished reading and ignoring output
exec_DB_script: waiting for child process to exit
exec_DB_script: child process exited
sureunlink: unlink(/u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_11761_exec_DB_script.done) succeeded after 1 attempt(s)
sureunlink: verify that the file really no longer exists
sureunlink: confirmed that /u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_11761_exec_DB_script.done no longer exists after 1 attempts
exec_DB_script: deleted /u01/app/oracle/product/12.2.0/db/rdbms/log/pupbld_catcon_11761_exec_DB_script.done after running a script
exec_DB_script: closed Reader
exec_DB_script: waitpid returned
kill_sqlplus_sessions: output produced in exec_DB_script [

    SQL*Plus: Release 12.2.0.1.0 Production on Sat Aug 5 00:30:52 2017

    Copyright (c) 1982, 2016, Oracle.  All rights reserved.

    SQL> Connected.
    SQL> SQL> SQL>
    SQL> ALTER SYSTEM KILL SESSION '78,1729' force timeout 0 -- process 11802
      2  /

    System altered.

    SQL>
    SQL> SQL>
    SQL> Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
  ] end of output produced in exec_DB_script
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/catclust_catcon_11824.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catclust*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catclust_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/catfinal_catcon_12430.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catfinal*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catfinal_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/catbundleapply_catcon_12604.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catbundleapply*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/catbundleapply_*.lst] files for spool files, if any
catcon.pl: completed successfully
catcon: ALL catcon-related output will be written to [/u01/app/oracle/product/12.2.0/db/rdbms/log/utlrp_catcon_12789.lst]
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/utlrp*.log] files for output generated by scripts
catcon: See [/u01/app/oracle/product/12.2.0/db/rdbms/log/utlrp_*.lst] files for spool files, if any
catcon.pl: completed successfully

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

[root@jytest3 ~]# su - oracle
Last login: Fri Aug  4 15:07:33 CST 2017
[oracle@jytest3 ~]$ cd $ORACLE_HOME/dbs

[oracle@jytest3 dbs]$ export ORACLE_SID=cs

2.创建密码文件

[oracle@jytest3 dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwcs password=xxzx_7817600 format=12.2 entries=20

3.创建初始化参数

[oracle@jytest3 dbs]$ vi inittest.ora
db_name='cs'
memory_target=4G
memory_max_target=4G
control_files='+data/cs/controlfile/control01.ctl','+data/cs/controlfile/control02.ctl'
enable_pluggable_database=true
db_create_file_dest=+data

4.启动实例但不mount

[oracle@jytest3 dbs]$ export ORACLE_SID=cs
[oracle@jytest3 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Fri Aug 4 20:59:37 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup pfile='$ORACLE_HOME/dbs/initcs.ora' nomount
ORACLE instance started.

Total System Global Area 4294967296 bytes
Fixed Size                  8628936 bytes
Variable Size            2315257144 bytes
Database Buffers         1962934272 bytes
Redo Buffers                8146944 bytes

5.执行create database语句来创建CDB
下面的语句将创建一个名为cs的CDB数据库。这个名字与参数文件中的db_name同名。为了创建包含root与CDB seed的CDB库在create database语句中包含了enable pluggable database子句。在这个例子还包含了
seed tablespace datafiles子句来指定CDB seed文件的文件名与目录。

SQL> create database cs
  2  user sys identified by xxzx_7817600
  3  user system identified by xxzx_7817600
  4  extent management local
  5  default tablespace users
  6  default temporary tablespace temp
  7  undo tablespace undotbs1
  8  enable pluggable database
  9  seed
 10  system datafiles size 125m autoextend on next 10m maxsize unlimited
 11  sysaux datafiles size 100m;

Database created.

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

上述就是小编为大家分享的Oracle 12c中怎么手动创建CDB了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 12c中怎么手动创建CDB

本文链接: https://www.lsjlt.com/news/57248.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle 12c中怎么手动创建CDB
    这期内容当中小编将会给大家带来有关Oracle 12c中怎么手动创建CDB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用create database创建CDB的具体...
    99+
    2022-10-18
  • Oracle 12c中怎么利用Non-CDB创建PDB
    本篇文章给大家分享的是有关Oracle 12c中怎么利用Non-CDB创建PDB,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。可以移动Non-...
    99+
    2022-10-18
  • Oracle 12c如何实现手工建库而非CDB及CDB创建
    这篇文章给大家分享的是有关Oracle 12c如何实现手工建库而非CDB及CDB创建的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。相信大家应该都知道,对于Oracle数据库的创建...
    99+
    2022-10-18
  • oracle 12c中怎么搭建PDB refresh
    这篇文章主要讲解了“oracle 12c中怎么搭建PDB refresh”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle 12c中怎么搭建PDB ...
    99+
    2022-10-18
  • Oracle 12c中使用FILE_NAME_CONVERT创建pdb报错ORA-01276怎么办
    这篇文章给大家分享的是有关Oracle 12c中使用FILE_NAME_CONVERT创建pdb报错ORA-01276怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在使用1...
    99+
    2022-10-18
  • oracle 中怎么创建JOB
    今天就跟大家聊聊有关oracle 中怎么创建JOB,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、创建JOB,可以指定固定的时间(对运行时间的管理...
    99+
    2022-10-18
  • C++中怎么手动创建一个内存池
    今天就跟大家聊聊有关C++中怎么手动创建一个内存池,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。引言使用new expression为类的多个实例分配动态内存时,cookie导致内存...
    99+
    2023-06-20
  • Linux系统怎么手动创建用户
    这篇文章主要介绍Linux系统怎么手动创建用户,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!第一步:修改 /etc/passwd 文件vim 打开 /etc/passwd 文件追加一行信息/etc/passwd文件的...
    99+
    2023-06-28
  • Oracle中怎么创建约束
    Oracle中怎么创建约束,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Oracle  创建主键,外键, check...
    99+
    2022-10-18
  • oracle中怎么创建表空间
    oracle中怎么创建表空间,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  创建数据库用户的具体过程:  1.假如现在已经建好名为'...
    99+
    2022-10-18
  • oracle中怎么创建外部表
    本篇文章为大家展示了oracle中怎么创建外部表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。oracle db允许以只读的形式查询外部表。外部表可以存储在任何or...
    99+
    2022-10-18
  • Oracle中怎么创建物化视图
    Oracle中怎么创建物化视图,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 oracle物化视图 一、oracle物化视图基本概念&nb...
    99+
    2022-10-18
  • Oracle中怎么创建和管理表
    这篇文章给大家介绍Oracle中怎么创建和管理表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Oracle创建表及管理表1. 表的创建及管理    创建表包括三个要...
    99+
    2022-10-18
  • Oracle中怎么创建WIP任务单
    这篇文章主要介绍“Oracle中怎么创建WIP任务单”,在日常操作中,相信很多人在Oracle中怎么创建WIP任务单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle...
    99+
    2022-10-18
  • Oracle中怎么创建用户和表
    这篇文章主要讲解了“Oracle中怎么创建用户和表”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle中怎么创建用户和表”吧!Oracle创建用户、表(1) 连接C:\Users\LE...
    99+
    2023-07-05
  • Ubuntu16.04中怎么创建GIF动图
    本文小编为大家详细介绍“Ubuntu16.04中怎么创建GIF动图”,内容详细,步骤清晰,细节处理妥当,希望这篇“Ubuntu16.04中怎么创建GIF动图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。将视频转换...
    99+
    2023-06-28
  • Javascript中怎么动态创建DIV
    Javascript中怎么动态创建DIV,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Javascript动态创建DIV这是原来的CSS样式....
    99+
    2022-10-19
  • oracle中怎么创建一个数据库
    这篇文章将为大家详细讲解有关oracle中怎么创建一个数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  手工创建数据库步骤  1. 创建 instan...
    99+
    2022-10-18
  • 怎么在Oracle中创建区块链表
    这篇文章给大家介绍怎么在Oracle中创建区块链表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。创建区块链表使用 CREATE BLOCKCHAIN TABLE 命令创建区块链表,同时可以指定三个选项。其中,NO DR...
    99+
    2023-06-15
  • Ubuntu 16.04中怎么创建GIF动图
    这篇文章主要介绍Ubuntu 16.04中怎么创建GIF动图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!FFmpeg 是一款开源的音、视转换器,使用 FFmpeg 我们可以非常容易地转换和录制音视频文件,而 Ima...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作