Oracle 12c实现手工建库而非CDB及CDB创建的方法


本文整理自网络,侵删。

前言

相信大家应该都知道,对于Oracle数据库的创建,Oracle除了支持dbca(GUI界面),同时也支持手工方式创建数据库,即使用CREATE DATABASE语句创建数据库。使用此语句对使用DBCA的一个优点是可以从脚本内创建数据库。

在Oracle 12c版本中支持12c之前的非CDB数据库以及CDB容器数据库。因此创建方式略有不同。本文同时描述2种不同数据库的手工创建方法。下面话不多说了,来一起看看详细的介绍吧。

一、12c手工创建非CDB数据库

步骤1:指定实例标识符(SID)

ORACLE_SID的环境变量用于该实例从稍后可能创建并同时在同一主机计算机上运行其他Oracle Database实例区分开来。

$ export ORACLE_SID=nocdb
$ export ORACLE_UNQNAME=nocdb

步骤2:确保设置所需的环境变量

根据您的平台,在启动SQL * Plus之前(根据后续步骤的要求),您可能必须设置环境变量,或至少验证它们是否正确设置。如下查看当前已设定的环境变量,如果未设定,请使用export命令方式设定之。

$ env|grep ORA
ORACLE_UNQNAME=nocdb
ORACLE_SID=nocdb
ORACLE_BASE=/app/oracle/ora12c
ORACLE_HOSTNAME=ydq05.ydq.com
ORACLE_HOME=/app/oracle/ora12c/db_1

步骤3:选择数据库管理员身份验证方法

您必须进行身份验证并授予相应的系统权限才能创建数据库。

通常情况下,使用以下方式具有所需权限的管理员进行身份验证:

使用密码文件

具有操作系统认证(此演示中使用操作系统认证)

$ id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)

步骤4:创建初始化参数文件

当Oracle实例启动时,它读取一个初始化参数文件。该文件可以是文本文件,可以使用文本编辑器或二进制文件进行创建和修改,该文件由数据库创建和动态修改。优选的二进制文件称为服务器参数文件。在此步骤中,您将创建一个文本初始化参数文件。在后面的步骤中,您可以从文本文件创建一个服务器参数文件。

$ mkdir -pv /app/oracle/ora12c/oradata/nocdb #创建存放数据文件的目录

$ vi $ORACLE_HOME/dbs/initnocdb.ora

DB_NAME=nocdb
CONTROL_FILES='/app/oracle/ora12c/oradata/nocdb/contorl01.ctl'
MEMORY_TARGET=380m

步骤5:(仅限Windows)创建实例

在Windows平台上,连接到实例之前,必须手动创建它,如果它不存在。该ORADIM命令通过创建一个新的Windows服务创建一个Oracle数据库实例。

oradim -NEW -SID sid -STARTMODE MANUAL -PFILE file

步骤6:连接到实例

启动SQL * Plus并使用管理权限连接到Oracle数据库实例SYSDBA。

$ sqlplus / as sysdba --演示环境为12.1版本

SQL*Plus: Release 12.1.0.1.0 Production on Wed May 31 10:44:41 2017

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

Connected to an idle instance.

SQL>

步骤7:创建服务器参数文件

服务器参数文件使您可以使用该ALTER SYSTEM命令更改初始化参数,并在数据库关闭和启动时保留更改。您可以从编辑的文本初始化文件创建服务器参数文件。

SQL> create spfile from pfile='/app/oracle/ora12c/db_1/dbs/initnocdb.ora';

步骤8:启动实例

启动实例而不安装数据库。

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size     2296576 bytes
Variable Size    641729792 bytes
Database Buffers   419430400 bytes
Redo Buffers    5480448 bytes

步骤9:发出CREATE DATABASE语句

要创建新数据库,请使用该CREATE DATABASE语句。

SQL> CREATE DATABASE nocdb
 USER SYS IDENTIFIED BY pass
 USER SYSTEM IDENTIFIED BY pass
 LOGFILE GROUP 1 ('/app/oracle/ora12c/oradata/nocdb/redo01a.log',
'/app/oracle/ora12c/oradata/nocdb/redo01b.log') SIZE 100M BLOCKSIZE 512,
   GROUP 2 ('/app/oracle/ora12c/oradata/nocdb/redo02a.log',
'/app/oracle/ora12c/oradata/nocdb/redo02b.log') SIZE 100M BLOCKSIZE 512
 MAXLOGHISTORY 1
 MAXLOGFILES 16
 MAXLOGMEMBERS 3
 MAXDATAFILES 1024
 CHARACTER SET AL32UTF8
 NATIONAL CHARACTER SET AL16UTF16
 EXTENT MANAGEMENT LOCAL
 DATAFILE '/app/oracle/ora12c/oradata/nocdb/system01.dbf' SIZE 700M
 SYSAUX DATAFILE '/app/oracle/ora12c/oradata/nocdb/sysaux01.dbf' SIZE 550M 
 DEFAULT TABLESPACE users
  DATAFILE '/app/oracle/ora12c/oradata/nocdb/users01.dbf' SIZE 500M 
 DEFAULT TEMPORARY TABLESPACE tempts1
  TEMPFILE '/app/oracle/ora12c/oradata/nocdb/temp01.dbf' SIZE 20M 
 UNDO TABLESPACE undotbs1
  DATAFILE '/app/oracle/ora12c/oradata/nocdb/undotbs01.dbf' SIZE 200M
 USER_DATA TABLESPACE usertbs
  DATAFILE '/app/oracle/ora12c/oradata/nocdb/usertbs01.dbf' SIZE 200M;

步骤10:创建其他表空间

要使数据库起作用,必须为应用程序数据创建其他表空间。

SQL> CREATE TABLESPACE apps_tbs LOGGING 
  DATAFILE '/app/oracle/ora12c/oradata/nocdb/apps01.dbf' 
  SIZE 500M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED 
  EXTENT MANAGEMENT LOCAL;

步骤11:运行脚本以构建数据字典视图

运行构建数据字典视图,同义词和PL / SQL包所必需的脚本,并支持SQL * Plus的正常运行。

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

--验证结果
SQL> SELECT name,
 2   DECODE (cdb,
 3     'YES', 'Multitenant Option enabled',
 4     'Regular 12c Database: ')
 5   "Multitenant Option",
 6   open_mode,
 7   con_id
 8 FROM v$database;

NAME  Multitenant Option   OPEN_MODE    CON_ID
--------- -------------------------- -------------------- ----------
NOCDB  Regular 12c Database:  READ WRITE     0

步骤12 :(可选)运行脚本以安装其他选项(此处略)

您可能需要运行其他脚本。您运行的脚本由您选择使用或安装的功能和选项决定。

步骤13:备份数据库对数据库(此处略)

阅读剩余部分

相关阅读 >>

oracle中游标cursor的用法详解

oracle安装闪退的解决办法是什么

oracle查询日期语句有哪些?

oracle数据库中表空间的基本管理操作小结

全面解析oracle procedure 基本语法

oracle 实现类似sql server中自增字段的一个办法

入侵oracle数据库的一些技巧

燕十八oracle视频的资源(源码课件)分享

oracleplsql单行函数和组函数详解

oracle 11g 新特性 flashback data archive 使用实例

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...