ORACLE 手工建库

参数设计:

数据库名  


1:配置环境变量(以下是本实验环境的配置)

[oracle@prod ~]$ cat .bash_profile 
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=PROD
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

[oracle@prod ~]$ 
--使环境变量生效,当然,如果重新登陆或者做过切换等操作,此步骤可以省略
[oracle@prod ~]$ . .bash_profile 
[oracle@prod ~]$

2:创建密码文件(作用:允许远程用密码方式以sysdba身份登陆数据库,密码文件可有可无)

--切换到存放密码文件的目录
[oracle@prod ~]$ cd $ORACLE_HOME/dbs
[oracle@prod dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@prod dbs]$ ls
init.ora
[oracle@prod dbs]$ 
--生成密码文件的命令,帮助信息
[oracle@prod dbs]$ orapwd
Usage: orapwd file=<fname> entries=<users> force=<y/n> ignorecase=<y/n> nosysdba=<y/n>

  where
    file - name of password file (required),
    password - password for SYS will be prompted if not specified at command line,
    entries - maximum number of distinct DBA (optional),
    force - whether to overwrite existing file (optional),
    ignorecase - passwords are case-insensitive (optional),
    nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).

  There must be no spaces around the equal-to (=) character.
[oracle@prod dbs]$ 
--生成密码文件,密码文件的格式:orapw+SID
[oracle@prod dbs]$ orapwd file=orapwPROD password=oracle
[oracle@prod dbs]$ ls
init.ora  orapwPROD
[oracle@prod dbs]$


3:生成pfile文件
[oracle@prod dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@prod dbs]$ ls
init.ora  orapwPROD
[oracle@prod dbs]$ cat init.ora |grep -v ^#|grep -v ^$ > initPROD.ora
[oracle@prod dbs]$ ls
init.ora  initPROD.ora  orapwPROD
[oracle@prod dbs]$ 
[oracle@prod dbs]$ vi initPROD.ora 
db_name='PROD'
memory_target=1G
processes = 150
--注意要校验此路径,在下一步创建目录时,要相同
audit_file_dest='/u01/app/oracle/admin/prod/adump'
#audit_trail ='db'
--把审计的参数注释掉,去掉这个功能,DBCA建库,默认情况下是启用的。
db_block_size=8192
db_domain=''
--关闭快速恢复区
#db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area' 
--关闭快速恢复区,如果需要开启的话,随时可以通过修改参数来完成。
#db_recovery_file_dest_size=2G
--注释掉诊断的参数,数据库创建好后,这个参数会自动启用
#diagnostic_dest='<ORACLE_BASE>'                           
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
--undo表空间名称,在创建数据库时名称要匹配上
undo_tablespace='UNDOTBS1'
--修改控制文件的名字及位置
control_files = (/u01/app/oracle/oradata/PROD/ora_control1.ctl,/u01/app/oracle/oradata/PROD/ora_control2.ctl)
compatible ='11.2.0'


 4:根据pfile创建目录adump目录和控制文件目录


[oracle@prod ~]$ mkdir -p $ORACLE_BASE/admin/prod/adump
[oracle@prod ~]$ mkdir -p $ORACLE_BASE/oradata/PROD/
[oracle@prod ~]$


 5:通过pfile创建spfile


--查看已存在的pfile文件initPROD.ora
[oracle@prod ~]$ cd $ORACLE_HOME/dbs
[oracle@prod dbs]$ ls
init.ora  initPROD.ora  orapwPROD
[oracle@prod dbs]$ 
--验证当前环境变量
[oracle@prod dbs]$ echo $ORACLE_SID
PROD
[oracle@prod dbs]$ 
--通过pfile创建spfile
[oracle@prod dbs]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.4.0 Production on Fri Feb 28 16:34:35 2014


Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to an idle instance.


SQL> create spfile from pfile;


File created.


SQL> !ls
init.ora  initPROD.ora  orapwPROD  spfilePROD.ora


SQL>


 6:数据库启动到nomount(默认情况下,oracle会使用spfile启动数据库)


[oracle@prod dbs]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.4.0 Production on Fri Feb 28 17:20:28 2014


Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to an idle instance.


SQL> startup nomount;
ORACLE instance started.


Total System Global Area 1068937216 bytes
Fixed Size                  2260088 bytes
Variable Size             671089544 bytes
Database Buffers          390070272 bytes
Redo Buffers                5517312 bytes
SQL> 
SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------------------------------------------------
spfile                               string      /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfilePROD.ora
SQL> 
SQL> select status from v$instance;


STATUS
------------
STARTED


SQL>


 7:编写创建数据库脚本
Oracle11g官方文档:
Administrator’s Guide->2 Creating and Configuring an Oracle Database->Step 9: Issue the CREATE DATABASE Statement
1)修改数据库名称及相关口令
2)由于是测试环境,所以,可以将日志文件改为1个成员,把成员大小改为10M
3)修改users表空间大小及undo表空间大小
4)修改undo表空间的名称,要与pfile文件中的名称相同

CREATE DATABASE PROD
   USER SYS IDENTIFIED BY oracle
   USER SYSTEM IDENTIFIED BY oracle
   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/PROD/redo01a.log') SIZE 10M BLOCKSIZE 512,
             GROUP 2 ('/u01/app/oracle/oradata/PROD/redo02a.log') SIZE 10M BLOCKSIZE 512,
             GROUP 3 ('/u01/app/oracle/oradata/PROD/redo03a.log') SIZE 10M BLOCKSIZE 512
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   DATAFILE '/u01/app/oracle/oradata/PROD/system01.dbf' SIZE 325M REUSE
   SYSAUX DATAFILE '/u01/app/oracle/oradata/PROD/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE users
      DATAFILE '/u01/app/oracle/oradata/PROD/users01.dbf'
      SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED 
   DEFAULT TEMPORARY TABLESPACE tempts1              
      TEMPFILE '/u01/app/oracle/oradata/PROD/temp01.dbf'
      SIZE 20M REUSE                                 
   UNDO TABLESPACE UNDOTBS1                          
      DATAFILE '/u01/app/oracle/oradata/PROD/undotbs01.dbf'
      SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

 8:创建数据库(数据库此时的状态应该是nomount,直接在sqlplus下执行创建数据库脚本即可)

SQL> CREATE DATABASE PROD

  2     USER SYS IDENTIFIED BY oracle
  3     USER SYSTEM IDENTIFIED BY oracle
  4     LOGFILE GROUP 1 ('/u01/app/oracle/oradata/PROD/redo01a.log') SIZE 10M BLOCKSIZE 512,
  5             GROUP 2 ('/u01/app/oracle/oradata/PROD/redo02a.log') SIZE 10M BLOCKSIZE 512,
  6             GROUP 3 ('/u01/app/oracle/oradata/PROD/redo03a.log') SIZE 10M BLOCKSIZE 512
  7      MAXLOGFILES 5
  8      MAXLOGMEMBERS 5
  9      MAXLOGHISTORY 1
 10     MAXDATAFILES 100
 11     CHARACTER SET US7ASCII
 12     NATIONAL CHARACTER SET AL16UTF16
 13     EXTENT MANAGEMENT LOCAL
 14     DATAFILE '/u01/app/oracle/oradata/PROD/system01.dbf' SIZE 325M REUSE
 15     SYSAUX DATAFILE '/u01/app/oracle/oradata/PROD/sysaux01.dbf' SIZE 325M REUSE
 16     DEFAULT TABLESPACE users
 17     DATAFILE '/u01/app/oracle/oradata/PROD/users01.dbf'
 18     SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED 
 19     DEFAULT TEMPORARY TABLESPACE tempts1              
 20     TEMPFILE '/u01/app/oracle/oradata/PROD/temp01.dbf'
 21     SIZE 20M REUSE                                 
 22     UNDO TABLESPACE UNDOTBS1                          
 23     DATAFILE '/u01/app/oracle/oradata/PROD/undotbs01.dbf'
 24     SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

Database created.

SQL> select status from v$instance;
STATUS
------------
OPEN

SQL> 


--查看相关参数
SQL> show parameter control_files
NAME                 TYPE        VALUE
-------------------  ----------- ------------------------------
control_files     string      /u01/app/oracle/oradata/PROD/ora_control1.ctl, /u01/app/oracle/oradata/PROD/ora_control2.ctl
SQL> show parameter undo  


NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1
SQL> show parameter spfile

NAME            TYPE        VALUE
-------------   ---------    ------------------------------
spfile          string      /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfilePROD.ora
SQL>

9:创建字典表及工具包
--必执行脚本
SQL> conn / as sysdba
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
SQL> conn system/oracle
SQL> @?/sqlplus/admin/pupbld.sql
--可选脚本
SQL> conn / as sysdba
SQL> @?/rdbms/admin/catblock.sql
SQL> @?/rdbms/admin/catoctk.sql

SQL> @?/rdbms/admin/owminst.plb


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值