ORACLE手工建库

这两天练习了下手工建立ORACLE数据库,这里列出了ORACLE 11g的官方文档的步骤,并且加了些自己的心得和总结。

Step 1: Specify an Instance Identifier (SID)
export ORACLE_SID=panda
Step 2: Ensure That the Required Environment Variables Are Set
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

注意:这个ORACLE_HOME是安装好的ORACLE软件的home,不是随便乱设置的。
前面两步都是设置环境变量,可以把环境变量写到oracle用户的.base_profile文件中,这样每次进入oracle用户会自动加载环境变量。
Step 3: Choose a Database Administrator Authentication Method
这一步可以建立口令文件以便以后可以dba用户远程登录。口令文件的建立方法这里就不说了。
Step 4: Create the Initialization Parameter File
在$ORACLE_HOME/dbs下建立ora<sid>.ora初始化参数文件。
官方文档建议要有DB_NAME,CONTROL_FILES,MEMORY_TARGET三个参数。
实际上可以设置更少的参数,分以下三种情况:
1)
、如果后面创建数据库(CREATE DATABASE)时不选择OMF,那么这时最少只需要设置DB_NAME这一个初始化参数可以,在建立数据库(create database)时,会在与初始化参数文件一样的位置建立一个控制文件cntrl<sid>.ctl。这样建立的数据库没有控制文件冗余,如果你想要有控制文件冗余,就得用CONTRIL_FILES参数去设置多个控制文件。
2)、如果后面创建数据库(CREATE DATABASE)时选择OMF,并且后面没有创建spfile,那么这时最少需要设置DB_NAME、CONTROL_FILES两个初始化参数,如果只设置DB_NAME一个参数,数据库也是可以成功建立的,但是在数据库重启时会因为找不到控制文件而启动失败(原因就是初始化参数文件中没有控制文件记录)。
3)、如果后面创建数据库(CREATE DATABASE)时选择OMF,并且后面创建了spfile,那么就只需要DB_NAME一个参数就可以了。数据库会把生成的控制文件记录在spfile中。

建议至少使用DB_NAME与CONTROL_FILES两个参数,这样可以在创建数据库时选择让数据库冗余控制文件,并且可以在没有创建spfile和使用OMF的情况下,不至于导致数据库重启时找不到控制文件而启动不了。
如:DB_NAME=panda
CONTROL_FILES=(/u01/oracle/prod/control01.ctl,/u02/oracle/prod/control01.ctl)

Step 5: (Windows Only) Create an Instance

Step 6: Connect to the Instance
$SQL> CONNECT SYS AS SYSDBA
Connected to an idle instance.
Step 7: Create a Server Parameter File
这一步不是必须的,但是为了后面的使用方便强烈建议建立spfile.
如果你是按照前面第四步在$ORACLE_HOME/dbs下建立ora<sid>.ora初始化参数文件。那么只需要执行下面语句建立spfile.
CREATE SPFILE FROM PFILE;
Step 8: Start the Instance
STARTUP NOMOUNT
Step 9: Issue the CREATE DATABASE Statement
a)以非OMF建立的数据库


CREATE DATABASE panda
   USER SYS IDENTIFIED BY sys_password
   USER SYSTEM IDENTIFIED BY system_password
   LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log') SIZE 100M BLOCKSIZE 512
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 200
   MAXDATAFILES 100
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   DATAFILE '/u01/app/oracle/oradata/panda/system01.dbf' SIZE 325M REUSE
   SYSAUX DATAFILE '/u01/app/oracle/oradata/panda/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE users
      DATAFILE '/u01/app/oracle/oradata/panda/users01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/app/oracle/oradata/panda/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/app/oracle/oradata/panda/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

注意: 1)控制文件时这时生成的,初始化参数文件中的CONTROL_FILES指定了控制文件的数量和位置。如果初始化参数文件这个参数未设置,则会在与初始化参数文件相同的位置建立控制文件。
2)建立数据库相关的目录必须提前建立好,并且要有权限
3)创建数据库语句只能建立SYS与SYSTEM两个用户
4)日志组的块大小可以不指定,如果不指定则会取磁盘的一个扇区的大小作为块大小。
5)MAXLOGHISTORY参数可以稍微给大一点,如200
6)如果不指定EXTENT MANAGEMENT LOCAL语句,那么system表空间会默认使用字典管理的表空间,强烈建议使用本地表空间管理。
7)默认的users表空间可以不先不建立,在建库完成后再建立也可以
8)undo表空间不建议使用AUTOEXTEND ON MAXSIZE UNLIMITED字句,这样可能会导致UNDO过段时间变得很大,可是设置一个稍微大点的固定大小的值。

b)以OMF建立的数据库

如果使用OMF还需要在初始化参数文件中指定DB_CREATE_FILE_DEST
DB_CREATE_FILE_DEST='/u01/app/oracle/oradata'

CREATE DATABASE panda
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs1
DEFAULT TABLESPACE users;
Step 10: Create Additional Tablespaces
这一步是可选的,可以在业务使用时再去建立需要的表空间。
CREATE TABLESPACE apps_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/panda/apps01.dbf' 
     SIZE 500M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace (optional)
CREATE TABLESPACE indx_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/panda/indx01.dbf' 
     SIZE 100M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;

Step 11: Run Scripts to Build Data Dictionary Views
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/sys_password
@?/sqlplus/admin/pupbld.sql
注意:
CATALOG.SQL:Creates the views of the data dictionary tables, the dynamic performance views, and public synonyms for many of the views. Grants PUBLIC access to the synonyms.
CATPROC.SQL:Runs all scripts required for or used with PL/SQL.
PUPBLD.SQL:Required for SQL*Plus. Enables SQL*Plus to disable commands by user.

到这里数据库已经建立完成了,后面的可以根据自己的需要去做。
Step 12: (Optional) Run Scripts to Install Additional Options
Step 13: Back Up the Database.
Step 14: (Optional) Enable Automatic Instance Startup






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值