首页 > 开发 > 综合 > 正文

手动创建数据库方法

2024-07-21 02:12:13
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 在windows nt/2000下手动创建数据库
    我机子里已经有一个数据库为sjpdb,现在要手动再建第二个数据库sjpdb02 步骤如下:
    步骤一:确定数据库名实例名服务名
    步骤二:编辑修改参数文件
    步骤三:创建数据库实例
    步骤四:启动新创建的实例,创建数据库
    步骤五:创建数据字典
    步骤六:网络配置即配置监听器(lisener.ora)和网络连接解析配置(tnsnames.ora)
    具体步骤如下:

    步骤一:确定数据库名实例名服务名

    因为我是在自己机子上创建db 所以域名取为空,所以服务名和数据库名相同参数格式如下:
    db_name=sjpdb02
    instance_name=sjp02
    db_domain=""
    service_names=sjpdb02

    步骤二:编辑修改参数文件

    从其他windows nt/2000的数据库oracle 9i中拷贝一个参数文件作为基础修改。一般先要修改以下一些参数其他参数在数据库创建后再修改。

    我的oracle 安装目录为f盘根目录下
    db_name=sjpdb02
    insance_name=sjpdb02
    db_domain=
    service_names=sjpdb02
    control_files=("f:/oracle/oradata/sjpdb02/control01.ctl", "f:/oracle/oradata/sjpdb02/control02.ctl",

    "f:/oracle/oradata/sjpdb02/control03.ctl")
    db_block_size=4096
    background_dump_dest=f:/oracle/admin/sjpdb02/bdump
    core_dump_dest=f:/oracle/admin/sjpdb02/cdump
    user_dump_dest=f:/oracle/admin/sjpdb02/udump
    修改完后保存,文件名为init.ora保存路径
    f:/oracle/admin/sjpdb02/pfile/init.ora

    步骤三:创建数据库实例

        创建数据库实例的原因是数据库启动时首先要启动实例,若对应此数据库的实例启动失败或每没启动,则数据库不能正常启动发生协议适

    配器错误,数据库实例在window下就是服务,本步骤要利用创建数据库实例的程序oradim.exe创建实例oracleservicesjpdb02。首先要在
    f:/oracle/ora90/database下创建initsjpdb02.ora文件,因为用oradim命令创建服务时要用到参数文件,initsjpdb02.ora文件内容为
    ifile='f:/oracle/admin/sjpdb02/pfile/init.ora'  这句话实际上是对上面我们建的参数文件的一个引用。
    使用orapwd命令创建数据库中具有sysdba权限的口令字文件,该用户可以启动和关闭数据库,此文件保存目录:
    f:/oracle/ora90/database/pwdsjpdb02.ora
    创建口令字方法为:
    c:/>orapwd file=f:/oracle/ora90/database/pwdsjpdb02.ora  password=sjp entries=30
    使用oradim命令创建数据库实例
    c:/>set oracle_sid=sjpdb02    在这之前oracle_sid=sjpdb
    c:/>oradim -new -sid sjpdb02 -startmode m -pfile f:/oracle/ora90/database/initsjpdb02.ora  启动模式为手动
    创建成功后系统自动在windows的服务表中增加一个新的服务“oracleservicesjpdb02”  并且自动启动了,虽然启动模式为手动。
    其实创建口令字过程可以添在创建实例语句中  两个参数-intpwd sjp   -maxusers 30


     

    步骤四:启动新创建的实例,创建数据库步骤五:创建数据字典  这两个步骤用一个脚本实现

    在创建数据库之前要以新的参数文件启动数据库实例,即nomount数据库,因没有控制文件还不能mount或open
    c:/>sqlplus "/as sysdba"
    sql>startup nomount              
    oracle 例程已经启动。

    total system global area  118255568 bytes
    fixed size                   282576 bytes
    variable size              83886080 bytes
    database buffers           33554432 bytes
    redo buffers                 532480 bytes
    若数据库参数文件不在f:/oracle/ora90/database下,或参数文件名称没有按initsid.ora取名,则启动实例时要加参数pfile指出参数文件路

    径,例sql>startup pfile=路径/参数文件名 nomount
    运行脚本文件名为createdb.sql   其中文件最后是加载一些程序包以创建数据字典
    sql>@存放路径/createdb.sql
    createdb.sql文件内容为:

    create database sjpdb02
    logfile
          group 1 ('f:/oracle/oradata/sjpdb02/redo01a.log',
                   'f:/oracle/oradata/sjpdb02/redo01b.log')  size 5m,
          group 2 ('f:/oracle/oradata/sjpdb02/redo02a.log',
                   'f:/oracle/oradata/sjpdb02/redo02b.log')  size 5m,
          group 3 ('f:/oracle/oradata/sjpdb02/redo03a.log',
                   'f:/oracle/oradata/sjpdb02/redo03b.log')  size 5m
    maxlogfiles 32
    maxlogmembers 3
    maxloghistory 1
    datafile 'f:/oracle/oradata/sjpdb02/system01.dbf' size 100m
    autoextend on next 512k maxsize unlimited
    maxdatafiles 254
    maxinstances 1
    character set zhs16gbk
    national character set utf8;

    alter tablespace system default storage
    (initial 64k minextents 1
    maxextents unlimited pctincrease 50);
    alter tablespace system minimum extent 64k;

    create undo tablespace undotbs
    datafile 'f:/oracle/oradata/sjpdb02/undotbs01.dbf' size 50m
    autoextend on next 512k
    extent management local;
    create temporary tablespace temp
    tempfile 'f:/oracle/oradata/sjpdb02/temp01.dbf' size 32m
    autoextend on next 512k
    extent management local;

    create tablespace tools
    datafile 'f:/oracle/oradata/sjpdb02/tools01.dbf' size 32m
    autoextend on next 512k
    extent management dictionary
    minimum extent 32k
    default storage(initial 32k next 32k minextents 1
    maxextents 4096 pctincrease 0);

    create  tablespace indx
    datafile 'f:/oracle/oradata/sjpdb02/indx01.dbf' size 32m
    autoextend on next 512k
    minimum extent 128k
    default storage(initial 128k next 128k minextents 1
    maxextents 4096 pctincrease 0);

    create  tablespace users
    datafile 'f:/oracle/oradata/sjpdb02/users01.dbf' size 20m
    autoextend on next 512k
    extent management dictionary
    minimum extent 128k
    default storage(initial 128k next 128k minextents 1
    maxextents 4096 pctincrease 0);

    @f:/oracle/ora90/rdbms/admin/catalog.sql
    @f:/oracle/ora90/rdbms/admin/catproc.sql
    @f:/oracle/ora90/rdbms/admin/catexp7.sql
    @f:/oracle/ora90/rdbms/admin/catrep.sql
    @f:/oracle/ora90/rdbms/admin/caths.sql
    connect system/manager
    @f:/oracle/ora90/sqlplus/admin/pupbld.sql

    步骤六:网络配置即配置监听器(lisener.ora)和网络连接解析配置(tnsnames.ora)

    可以使用net manager来配置


     

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表