• Oracle 手工建库


    简介:

    使用 CREATE DATBASESQL 语句是一种更手动的创建数据库的方法。如果使用该CREATE DATABASE语句,则必须先完成其他操作,然后才能拥有可操作的数据库。这些操作包括在数据字典表上构建视图和安装标准 PL/SQL 包。您可以通过运行准备好的脚本来执行这些操作。

    步骤 1: 创建操作系统目录

    mkdir -p /u01/app/oracle/admin/PROD3/adump 创建跟踪文件
    mkdir -p /u01/app/oracle/fast_recovery_area/PROD3 创建快速恢复目录,rman配置文件默认路径
    mkdir -p /u01/app/oracle/oradata/PROD3 创建数据文件,日志文件等目录

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

    export ORACLE_SID=PROD3

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

    在启动 SQL*Plus 之前,必须设置环境变量,或者至少验证它们是否设置正确。
    例如,在大多数平台上,ORACLE_SID必须ORACLE_HOME设置。此外,建议将PATH变量设置为包括ORACLE_HOME/bin 目录。在 UNIX 和 Linux 平台上,您必须手动设置这些环境变量。

    例如:
    在Oracle用户下的.bash_profile添加以下内容

    PATH=$PATH:$HOME/.local/bin:$HOME/bin
    export PATH
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
    export ORACLE_SID=PROD3
    export PATH=$ORACLE_HOME/bin:$PATH
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    保存后source .bash_profile 生效

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

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

    db_name='PROD3'
    memory_target=420M
    processes = 150
    audit_file_dest='/u01/app/oracle/admin/PROD3/adump'
    audit_trail ='db'
    db_block_size=8192
    db_domain='us.oracle.com' #如果没要求,为了规范,看看PROD1/PROD2的域名,照着写! db_recovery_file_dest='/u01/app/oracle/fast_recovery_area/PROD3'—注意改成fast_recovery_area,
    db_recovery_file_dest_size=2G
    diagnostic_dest='/u01/app/oracle'
    dispatchers='(PROTOCOL=TCP) (SERVICE=PROD3XDB)'
    open_cursors=300 
    remote_login_passwordfile='EXCLUSIVE'
    undo_tablespace=''# 修改为空,用下面建库的脚本进行匹配!否则这个名字就需要和建库脚本中的一致!
    control_files = ('/u01/app/oracle/oradata/PROD3/control01.ctl','/u01/app/oracle/fast_recovery_area/PROD3/control02.ctl')
    compatible ='11.2.0'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    步骤 5:建立密码文件

    cd $ORACLE_HOME/dbs
    orapwd file=orapwPROD3 password=oracle entries=5;

    步骤 6:建立spfile文件

    sqlplus / as sysdba;
    create spfile from pfile;

    步骤 7:修改参数DB_CREATE_FILE_DEST

    sql> startup nomount;
    sql> alter system set DB_CREATE_FILE_DEST=‘/u01/app/oracle/oradata/PROD3’

    **注意:**如果用建库脚本2,则需要设置这个;建库脚本1则不用!

    步骤 8:建库脚本(两种方式)

    以下语句创建数据库mynewdb。此数据库名称必须与DB_NAME初始化参数文件中的参数一致
    cd /home/oracle/scripts
    vi createdb.sql
    建库脚本1–
    CREATE DATABASE PROD3
    USER SYS IDENTIFIED BY oracle—密码按照考题写,这个与参数文件中的密码文件要一致!

    USER SYSTEM IDENTIFIED BY oracle
       LOGFILE GROUP 1 ('/u01/app/oracle/oradata/PROD3/redo01a.log') SIZE 100M BLOCKSIZE 512 REUSE,
                GROUP 2 ('/u01/app/oracle/oradata/PROD3/redo02a.log') SIZE 100M BLOCKSIZE 512 REUSE,
                GROUP 3 ('/u01/app/oracle/oradata/PROD3/redo03a.log') SIZE 100M BLOCKSIZE 512 REUSE
       MAXLOGFILES 5
       MAXLOGMEMBERS 5
       MAXLOGHISTORY 1
       MAXDATAFILES 100
       CHARACTER SET AL32UTF8
       NATIONAL CHARACTER SET AL16UTF16
       EXTENT MANAGEMENT LOCAL
       DATAFILE '/u01/app/oracle/oradata/PROD3/system01.dbf' SIZE 325M REUSE
       SYSAUX DATAFILE '/u01/app/oracle/oradata/PROD3/sysaux01.dbf' SIZE 325M REUSE
       DEFAULT TABLESPACE users
          DATAFILE '/u01/app/oracle/oradata/PROD3/users01.dbf'
          SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
          DEFAULT TEMPORARY TABLESPACE/ temp--------注意要修改,否则加密表空间的那道题会报错!
          TEMPFILE '/u01/app/oracle/oradata/PROD3/temp01.dbf'
          SIZE 20M REUSE
       UNDO TABLESPACE undotbs1
          DATAFILE '/u01/app/oracle/oradata/PROD3/undotbs01.dbf'
          SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
    /
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    建库脚本2

    CREATE DATABASE PROD3
    USER SYS IDENTIFIED BY oracle
    USER SYSTEM IDENTIFIED BY oracle
    EXTENT MANAGEMENT LOCAL
    DEFAULT TEMPORARY TABLESPACE temp
    UNDO TABLESPACE undotbs1
    DEFAULT TABLESPACE users;
    /
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    执行创建数据库脚本
    sql> @/home/oracle/createdb.sql

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

    @?/rdbms/admin/catalog.sql
    @?/rdbms/admin/catproc.sql
    @?/rdbms/admin/utlrp.sql ----这句是新增的,文档没有,清理无效对象
    conn system/oracle —最后这个脚本,是在system下运行的
    @?/sqlplus/admin/pupbld.sql

  • 相关阅读:
    JVM G1收集器几个重要的概念
    基于CentOs7使docker容器通过桥接模式被外部访问
    linux网络编程之TCP协议编程
    rhce练习题
    排序---P1781 宇宙总统
    EVALUATING HALLUCINATIONS IN CHINESE LARGE LANGUAGE MODELS
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java寻彝问药网站yv0v2
    高并发秒杀架构模型设计附源码案例
    限速器算法
    E. Non-Decreasing Dilemma
  • 原文地址:https://blog.csdn.net/m0_49929446/article/details/126575098