您好,欢迎访问一九零五行业门户网

手工创建Oracle数据库详解

阅读导航数据库版本:1.设置环境变量和创建目录2.创建初始化参数文件3.启动实例到nomount状态创建数据库4.运行脚本创建字典、视图
阅读导航
数据库版本:
1.设置环境变量和创建目录
2.创建初始化参数文件
3.启动实例到nomount状态创建数据库
4.运行脚本创建字典、视图、包、角色、权限、同义词
5.检查数据库相关信息
6.启用归档日志
数据库版本:
sql> select * from v$version;
banner
--------------------------------------------------------------------------------
oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production
pl/sql release 11.2.0.1.0 - production
core    11.2.0.1.0      production
tns for linux: version 11.2.0.1.0 - production
nlsrtl version 11.2.0.1.0 - production
1.设置环境变量和创建目录
$ export oracle_home=/u01/app/product/11.2.0/db_1
$ export oracle_sid=mandb
$ mkdir -p /disk2/oradata/mandb/datafile
$ mkdir -p /disk2/oradata/mandb/logfile
2.创建初始化参数文件
$ vim /disk2/oradata/mandb/datafile/mandb.ora
db_name='mandb'  #database name
instance_name='mandb'
control_files='/disk2/oradata/mandb/datafile/mandb_control01.ctl'
memory_target=500m
db_block_size=32768
db_create_file_dest='/disk2/oradata/mandb/datafile'
db_block_size 指定创建的数据库默认块大小,如果不指定,默认为:8192,注:创建数据库后不能修改默认数据块大小
db_create_file_dest 在未指定数据文件路径时,数据文件默认创建位置
3.启动实例到nomount状态创建数据库
$ sqlplus / as sysdba
sql> create spfile from pfile='/disk2/oradata/mandb/datafile/mandb.ora';
sql> startup nomount
sql> create database mandb
  2  user sys identified by oracle
  3  user system identified by oracle
  4  logfile group 1 '/disk2/oradata/mandb/logfile/redo01.log' size 50m blocksize 512,
  5            group 2 '/disk2/oradata/mandb/logfile/redo02.log' size 50m blocksize 512,
  6            group 3 '/disk2/oradata/mandb/logfile/redo03.log' size 50m blocksize 512
  7  maxlogfiles 10
  8  maxlogmembers 5
  9  maxloghistory 5
 10  maxdatafiles 200
 11  character set al32utf8
 12  national character set al16utf16
 13  extent management local
 14  datafile  '/disk2/oradata/mandb/datafile/system01.dbf' size 500m reuse
 15  sysaux
 16    datafile '/disk2/oradata/mandb/datafile/sysaux01.dbf' size 500m reuse
 17  default tablespace users
 18      datafile '/disk2/oradata/mandb/datafile/user01.dbf' size 100m reuse
 19  default temporary tablespace tempfile
 20    tempfile '/disk2/oradata/mandb/datafile/temp01.dbf' size 20m autoextend on
 21  undo tablespace undotbs01
 22  datafile '/disk2/oradata/mandb/datafile/undotbs01.dbf' size 20m autoextend on
 23    maxsize unlimited;
日志文件的块大小为:512bytes,可以设置1024bytes、4096bytes,控制文件的块大小为:16k;
注:如果中途出错或意外停止,要删除非指定reuse或不能指定reuse 的文件(如:控制文件、tempfile、undofile),然后在运行:
rm /disk2/oradata/mandb/datafile/mandb.ora
rm  /disk2/oradata/mandb/datafile/undotbs01.dbf
rm /disk2/oradata/mandb/datafile/undotbs01.dbf
4.运行脚本创建字典、视图、包、角色、权限、同义词
sql>@?/rdbms/admin/catalog.sql  ####字典、视图、公共同义词、角色、权限
sql>@?/rdbms/admin/catproc.sql  ####系统所需的pl/sql包
官方文档说还要登陆到system用户执行@?/sqlplus/admin/pupbld.sql脚本,但在安装的11.2.0.1.0版本上并未找到。至此数据库创建完毕;
5.检查数据库相关信息
sql> column name format a10
sql> select  dbid,name,db_unique_name,current_scn,open_mode from v$database; --数据库信息
      dbid name      db_unique_name                current_scn open_mode
---------- ---------- ------------------------------ ----------- --------------------
3530583721 mandb                                          385901 read write
sql> column name format a50
sql> select file#,name,block_size from v$datafile; --数据文件信息
    file# name                                              block_size
---------- -------------------------------------------------- ----------
        1 /disk2/oradata/mandb/datafile/system01.dbf              32768
        2 /disk2/oradata/mandb/datafile/sysaux01.dbf              32768
        3 /disk2/oradata/mandb/datafile/undotbs01.dbf            32768
        4 /disk2/oradata/mandb/datafile/user01.dbf                32768
sql> column member format a40
sql> select * from v$logfile; --日志文件信息
    group# status  type    member                                  is_
---------- ------- ------- ---------------------------------------- ---
        1        online  /disk2/oradata/mandb/logfile/redo01.log  no
        2        online  /disk2/oradata/mandb/logfile/redo02.log  no
        3        online  /disk2/oradata/mandb/logfile/redo03.log  no
sql> column name format a60
sql> select * from v$controlfile;  --控制文件信息
status  name                                                        is_ block_size file_size_blks
------- ------------------------------------------------------------ --- ---------- --------------
        /disk2/oradata/mandb/datafile/mandb_control01.ctl            no      16384            668
sql> column window_name format a17
sql>select window_name,window_next_time,window_active,autotask_status from dba_autotask_window_clients;  --窗口信息
window_name      window_next_time                                                            windo autotask
----------------- --------------------------------------------------------------------------- ----- --------
wednesday_window  08-apr-15 10.00.00.000000 pm prc                                            false enabled
friday_window    10-apr-15 10.00.00.000000 pm prc                                            false enabled
tuesday_window    07-apr-15 10.00.00.000000 pm prc                                            false enabled
saturday_window  11-apr-15 06.00.00.000000 am prc                                            false enabled
sunday_window    05-apr-15 06.00.00.000000 am prc                                            false enabled
monday_window    06-apr-15 10.00.00.000000 pm prc                                            false enabled
thursday_window  09-apr-15 10.00.00.000000 pm prc                                            false enabled
检查是否有对象错误:
sql>  select count(*) objects with errors from obj$ where status = 3;
如果有包、java code错误,可以通过oracle提供的utlrp.sql重新编译
sql> @?/rdbms/admin/utlrp.sql
6.启用归档日志
其它类似信息

推荐信息