• Oracle 11g数据库的创建


    由于是自己自学Oracle,如果有问题,请大家指出,谢谢!

    Oracle提供了DBCA来创建数据库,对于初学者来说使用DBCA创建数据库简化了很多工作和设置,直接在交互界面即可实现所有的功能。

    然而对于实际的生产数据库来说,使用DBCA来创建不切实际,建议按实际需求规划来创建数据库。

    Oracle数据库的创建不像SQL server,直接使用CREATE DATABASEDB_NAME(仅作临时,演示用)一条语句即可实现。

    不管是SQL还是Oracle,对于创建生产型数据库都需要进行需求分析、规划、创建等步骤。

    一、规划数据库
    创建数据库的目的(高可用性、并发性、数据装载)
    数据库的应用类型(OLAP,OLTP)
    数据库存储结构的设计
    数据库的名称、字符集
    db_block 块的大小
    数据库容量的初始大小及增幅

     

    二、建库前需要确认的问题
    (创建后不可修改) 可调整的设置,建议提前确定 其他注意事项

    数据库字符集(建议使用AL32UTF8,该字符集支持XML)

    SGA大小sga_max_size 文件存储方式(文件系统/RAW/ASM)
    数据库的名称(SID) 日志缓冲区大小log_buffer日志缓冲区大小log_buffer 数据文件、日志文件大小、存储位置
    数据块的大小 最大允许进程数 表空间的构成

     

    三、创建数据库的方法
    序号 方法 优点 缺点
    1

    使用DBCA创建数据库:

    通过安装软件后自动调用DBCA来创建;

    运行Oracle Database Configuration Assistant ;

    命令行下输入dbca,手动调用DBCA创建(图型化界面,跨平台);

    GUI方法使用方便; 建议不熟悉创建过程的DBA使用该方法 不过创建过程有些慢
    2 用命令行的方式建立数据库; 可以熟悉创建指令,创建原理 配置简单,要求熟记命令行指令
    3 通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建配置或删除数据库 - -

    方法23具体实现:

    2.用命令行的方式建立数据库;

    CONNECT / AS SYSDBA
    STARTUP PFILE= 'C:oracleadmininit_testorcl.ora' NOMOUNT;
    CREATE DATABASE testOrcl DATAFILE '/u02/oracle/testOrcl/system01.dbf' SIZE 100M
    LOGFILE GROUP1 ('/u01/oracle/testOrcl/redo1a.log',
    '/u02/oracle/testOrcl/redo1b.log') SIZE 500K,
    GROUP2 ('/u01/oracle/testOrcl/redo1a.log',
    '/u02/oracle/testOrcl/redo1b.log') SIZE 500K
    CHARACTER SET ZHS16CGB231280;

    --将数据库直接从未建置状态转换到打开状态

    ALTER DATABASE OPEN;

    --删除数据库(Dropping a Database)

    SPOOL C:DROP_DATABASE.BAT
    SELECT 'DEL '||NAME 删除数据库相关数据文件 FROM V$DATAFILE;
    SELECT 'DEL '||MEMBER 删除数据重构日志文件 FROM V$LOGFILE;
    SPOOL OFF;

    3.通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建配置或删除数据库。

    --create_ORACLE_SID.bat

    set ORACLE_SID= ORACLE_SID.
    del C:ORACLE8IdatabasepwdORACLE_SID.ora
    C:ORACLE8Ibinoradim -new -sid ORACLE_SID. -intpwd oracle -startmode manual
    -pfile C:ORACLE8IadminORACLE_SIDpfileinit.ora
    C:ORACLE8Ibinsvrmgrl @C:WINNTProfilesAdministratorLbORACLE_SIDrun.sql
    C:ORACLE8Ibinsvrmgrl @C:WINNTProfilesAdministratorLbORACLE_SIDrun1.sql
    C:ORACLE8Ibinoradim -edit -sid ORACLE_SID -startmode auto

    --ORACLE_SIDrun.sql

    spool C:ORACLE8IadminORACLE_SIDcreatecreatedb
    set echo on
    connect INTERNAL/oracle
    startup nomount pfile=C:ORACLE8IadminORACLE_SIDpfileinit.ora
    CREATE DATABASE ORACLE_SID
    LOGFILE 'C:ORACLE8IoradataORACLE_SIDredo01.log' SIZE 1024K,
    'C:ORACLE8IoradataORACLE_SIDredo02.log' SIZE 1024K
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXLOGHISTORY 1
    DATAFILE 'C:ORACLE8IoradataORACLE_SIDsystem01.dbf' SIZE 50M REUSE
    MAXDATAFILES 254
    MAXINSTANCES 1
    CHARACTER SET ZHT16BIG5
    NATIONAL CHARACTER SET ZHT16BIG5;
    spool off

    --ORACLE_SIDrun1.sql

    spool C:ORACLE8IadminORACLE_SIDcreatecreatedb1
    set echo on
    connect INTERNAL/oracle
    ALTER DATABASE DATAFILE 'C:ORACLE8IoradataORACLE_SIDsystem01.dbf' AUTOEXTEND ON;
    CREATE ROLLBACK SEGMENT SYSROL TABLESPACE "SYSTEM" STORAGE (INITIAL 100K NEXT 100K);
    ALTER ROLLBACK SEGMENT "SYSROL" ONLINE;

    另外我要说的是,新建全局数据库后:

    sys的口令是:change_on_install

    system的口令是:manager

    第一次启动的服务器有:

    OracleOraHome90Agent

    OracleOraHome90TNSListener

    OracleService(你数据库名字:例如你建立的数据库和SID名为:NEW,那这里就是NEW)

             由于自己还是oracle小白,因此使用第一种方法创建数据库,下面将详述其过程:

    1.【开始】/【程序】/【Oracle - OraDb10g_home1】/【配置和移植工具】/【Database Configuration Assistant】双击

    或者打开命令提示符(运行中输入CMD打开 ),输入dbca,回车。

    2.出现DBCA欢迎界面,点击下一步。

    3.选择创建数据库,点击下一步。

    4.选择一般用途或事务处理,下一步。

    5.输入数据库名称,默认全局和SID 是一样的,为mydb,点击下一步。

    6.配置EM,这里你可以去掉勾,不去配置。点下一步。

    7.设置用户口令,可根据自己需求新选择,使用不同管理口令还是所有账户使用同一管理口令。

    8.我选择所有账户使用同一管理口令,密码设为了123,点击下一步,出现以下提示,

    可以忽略,点击是。

    9.此后一直“下一步”即可。

    字符集改为了AL32UTF8,可以根据需要修改

    10.勾选生成数据库创建脚本,点击完成。

    11.确认即可,生成脚本文件。

     12.确定后,继续创建数据库。

     

     

    由于Enterprise Manager配置出错,如何解决该类问题。其实报错已经说明是因为监听程序未启动,

    1).可直接打开NET Configuration Assistant进行监听程序配置。

    2).重新配置EM

     

     


            

  • 相关阅读:
    vue中minxin---小记
    微信认证
    Fatal error Using $this when not in object context in
    $.ajax()方法详解
    $.post
    jquery中的each
    jquery的$.extend和$.fn.extend作用及区别
    javascript字符串函数
    serializeArray()与serialize()的区别
    一个登陆界面
  • 原文地址:https://www.cnblogs.com/xiaoxiaoweng/p/7283663.html
Copyright © 2020-2023  润新知