Home  >  Article  >  Database  >  手工创建Oracle数据库详解

手工创建Oracle数据库详解

WBOY
WBOYOriginal
2016-06-07 16:00:421006browse

阅读导航数据库版本: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.启用归档日志

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn