Oracle 19c部署之手工建库(四)

#Oracle #19c #手工建库

手工创建Oracle数据库(也称为手工建库)是指在已经安装了Oracle数据库软件的基础上,通过手动执行一系列命令和步骤来创建一个新的数据库实例。这种方法与使用Database Configuration Assistant (DBCA)等工具自动创建数据库相对,它提供了更高的灵活性和控制度,允许数据库管理员根据特定的需求精细调整数据库配置。

本文的实例基于CDB模式创建,非CDB模式有兴趣的小伙伴自行研究。

一、创建参数文件

数据库软件安装完成后,在$ORACLE_HOME/dbs目录下有一个参数文件模版init.ora

接下来编辑创建实例所需要的参数文件

db_name='testdb'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/testdb/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
#db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
#db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=testdbXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (/oradata/testdb/control1.ctl, /oradata/testdb/ora_control2.ctl)
compatible ='19.0.0'
enable_pluggable_database=true

*注意*

如果要创建CDB,参数enable_pluggable_database要设置为true,否则会报ORA-65093: multitenant container database not set up properly

二、创建相关目录

根据参数文件中涉及的目录,创建对应的目录

mkdir -p /u01/app/oracle/admin/testdb/adump
mkdir -p /oradata/testdb

#这里是针对pdbseed库的目录
mkdir -p /oradata/testdb/pdbseed/

三、将数据库启动到nomount状态

startup nomount pfile=inittestdb.ora 

四、配置创建数据库脚本

createdb.sql内容如下

CREATE DATABASE testdb
USER SYS IDENTIFIED BY 123456
USER SYSTEM IDENTIFIED BY 123456
LOGFILE GROUP 1 ('/oradata/testdb/redo01a.log','/oradata/testdb/redo01b.log') SIZE 100M BLOCKSIZE 512,
        GROUP 2 ('/oradata/testdb/redo02a.log','/oradata/testdb/redo02b.log') SIZE 100M BLOCKSIZE 512,
        GROUP 3 ('/oradata/testdb/redo03a.log','/oradata/testdb/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 '/oradata/testdb/system01.dbf' SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/oradata/testdb/sysaux01.dbf' SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE deftbs
DATAFILE '/oradata/testdb/deftbs01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/oradata/testdb/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs1
DATAFILE '/oradata/testdb/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
ENABLE PLUGGABLE DATABASE
    SEED
    FILE_NAME_CONVERT = ('/oradata/testdb/',
                         '/oradata/testdb/pdbseed/')
    SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
    SYSAUX DATAFILES SIZE 100M
  USER_DATA TABLESPACE usertbs
    DATAFILE '/oradata/testdb/pdbseed/usertbs01.dbf'
    SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
;

五、在sqlplus中执行脚本

sqlplus / as sysdba 
SQL> @createdb.sql

六、执行创建数据字典脚本

以SYS用户执行下面的脚本:

sqlplus / as sysdba 
--->创建数据字典视图、动态性能视图和同义词
SQL>@?/rdbms/admin/catalog.sql

--->运行所有PL/SQL需要或使用的脚本
SQL>@?/rdbms/admin/catproc.sql

--->重新编译失效状态的PL/SQL模块,包括包、过程或类型
SQL> @?/rdbms/admin/utlrp.sql 

以SYSTEM用户执行下面的脚本:

SQL> conn system/123456

--创建一些必要的表和视图,这些对象支持SQLPlus的一些高级功能
SQL> @?/sqlplus/admin/pupbld.sql 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值