OCP Oracle手工创建CDB(多租户)数据库

本文介绍了Oracle数据库的安装及相关操作。包括设置环境变量、创建密码文件、初始化文件,连接数据库,从PFILE创建SPFILE,启动实例进入nomount状态,执行创建数据库的SQL,创建数据字典和视图,还提及了手工删库的操作及注意事项。
  1. 完成Oracle数据库软件的安装。
     
  2. 设置环境变量ORACLE_SID
    ORACLE_SID可以理解为,要创建的根容器名,也是实例名。例如:
    export ORACLE_SID=CDB
     
  3. 创建密码文件
    cd $ORACLE_HOME/dbs
    orapwd file=orapwCDB password=123456 entries=5 format=12
    password=123456 是设置SYS用户的密码,安装完Oracle软件后,没有创建任何用户,然而要执行CREATE DATABASE需要一个有足够权限的用户,SYS就是第一个用户。format=12是指12c格式的密码文件,对密码字符的要求并不严格。这个密码文件名必须是orapw+实例名的格式,Oracle才可以找到,本例就是orapwCDB。

     
  4. 创建初始化文件,在$ORACLE_HOME/dbs下创建初始化文件,存储创建数据库时的默认参数,文件名需遵守规则orapw+实例名,例如,如果ORACLE_SID是CDB,则初始化文件名为initCDB.ora。这个初始化文件的类型称为pfile。
    db_block_size=8192
    open_cursors=300
    
    db_domain="io"
    
    db_name="CDB"
    
    control_files=("/u01/app/oracle/oradata/CDB/control01.ctl", "/u01/app/oracle/oradata/CDB/control02.ctl")
    
    compatible=19.0.0
    
    diagnostic_dest=/u01/app/oracle
    
    enable_pluggable_database=true
    
    nls_language="AMERICAN"
    
    nls_territory="AMERICA"
    
    processes=300
    
    sga_target=600m
    
    audit_file_dest="/u01/app/oracle/admin/CDB/adump"
    
    audit_trail=db
    
    remote_login_passwordfile=EXCLUSIVE
    
    pga_aggregate_target=200m
    
    undo_tablespace=UNDOTBS1

  5. 连接数据库
    sqlplus / as sysdba
     
  6. 从PFILE创建SPFILE,将第4步的创建初始化文件转为spfile格式,以后就使用这个spfile存储参数信息了。
    CREATE SPFILE FROM PFILE;
    对于本例,上面命令执行完,在$ORACLE_HOME/dbs会多出spfileCDB.ora
     
  7. 启动实例进入nomount状态
    STARTUP NOMOUNT
    可能有初始化文件里指定的目录没有创建,会报No such file or directory,创建相应目录。
    mkdir -p /u01/app/oracle/oradata/CDB/pdbseed
    mkdir -p /u01/app/oracle/admin/CDB/adump
    查看状态select status from v$instance;
     
  8. 执行创建数据库的SQL
    CREATE DATABASE CDB
    USER SYS IDENTIFIED BY 123456
    USER SYSTEM IDENTIFIED BY 123456
    LOGFILE GROUP 1 ('/u01/app/oracle/oradata/CDB/redo01a.log','/u01/app/oracle/oradata/CDB/redo01b.log') SIZE 100M BLOCKSIZE 512,
            GROUP 2 ('/u01/app/oracle/oradata/CDB/redo02a.log','/u01/app/oracle/oradata/CDB/redo02b.log') SIZE 100M BLOCKSIZE 512,
            GROUP 3 ('/u01/app/oracle/oradata/CDB/redo03a.log','/u01/app/oracle/oradata/CDB/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/CDB/system01.dbf' SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
    SYSAUX DATAFILE '/u01/app/oracle/oradata/CDB/sysaux01.dbf' SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
    DEFAULT TABLESPACE deftbs
    DATAFILE '/u01/app/oracle/oradata/CDB/deftbs01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
    DEFAULT TEMPORARY TABLESPACE tempts1
    TEMPFILE '/u01/app/oracle/oradata/CDB/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
    UNDO TABLESPACE undotbs1
    DATAFILE '/u01/app/oracle/oradata/CDB/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
    ENABLE PLUGGABLE DATABASE
        SEED
        FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/CDB/',
                             '/u01/app/oracle/oradata/CDB/pdbseed/')
        SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
        SYSAUX DATAFILES SIZE 100M
      USER_DATA TABLESPACE usertbs
        DATAFILE '/u01/app/oracle/oradata/CDB/pdbseed/usertbs01.dbf'
        SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
    ;

  9. 创建数据字典和视图
    以sysdba权限执行
    @?/rdbms/admin/catcdb.sql
    提示时,如下输入:
    SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2
    Enter value for 1: /tmp
    Enter value for 2: create_cdb.log
    Enter new password for SYS: ********
    Enter new password for SYSTEM: ********
    Enter temporary tablespace name: TEMP
  10. 手工删库
    数据库必须处于mount状态,且设置了restricted session。
    startup restrict force mount;
    drop database;
    查看状态
    select status from v$instance;
    执行drop database命令后,Oracle自动删除控制文件,(控制文件中记录的)数据文件和在线重做日志文件,如果数据库使用了spfile,spfile文件也会被删除。这个命令不会删除归档文件和备份文件。
  11. 参考
    https://docs.oracle.com/en/database/oracle/oracle-database/19/multi/creating-and-configuring-a-cdb.html#GUID-54C5126C-427A-4BFE-81BF-950FB1A062D5

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值