欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用命令行手工建立Oracle 11gR2数据库

程序员文章站 2022-05-27 20:50:55
...

通过命令行建立一个数据库可以帮助更好的了解数据库的建库流程,今天试了试手工建立Oracle11gR2数据库,感觉和10g的手工建库流程

通过命令行建立一个数据库可以帮助更好的了解数据库的建库流程,今天试了试手工建立Oracle11gR2数据库,感觉和10g的手工建库流程还是有一定的区别的,10g数据库的手工方式建立可以参考大侯(secooler)的“”
下面是我的建库流程:
测试环境:
OS:OEL5.6 x64
DB:Oracle database 11g R2(11.2.0.1.0)
建立数据库名:prod

1. 配置环境变量(参考)
1)设置环境变量
[oracle@ocm ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0.1/db_1; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export CLASSPATH
PATH=$ORACLE_HOME/bin:/usr/sbin:/sbin:$PATH; export PATH
2)生效环境变量
[oracle@ocm ~]$ source ~/.bash_profile

2.建立相关的目录
1)dump目录和10g相比,,这里只需要建立adump一个目录就可以了
[oracle@ocm ~]$ mkdir -p /u01/app/oracle/admin/prod/adump
2)数据文件及控制文件的存放目录
[oracle@ocm ~]$ mkdir -p /u01/app/oracle/oradata/prod

3.建立密码文件
[oracle@ocm ~]$ cd $ORACLE_HOME/dbs
[oracle@ocm dbs]$ orapwd file=orapwprod password=oracle entries=30

4.创建参数文件
1)从init.ora文件中获得示例参数,参考了大侯的cat方法:
[oracle@ocm ~]$ cd $ORACLE_HOME/dbs
[oracle@ocm dbs]$ cat init.ora |grep -v ^# |grep -v ^$ >initprod.ora

2)修改参数文件中的信息
主要修改下列参数
1:db_name
2:memory_target内存区大小
3:替换标签为当前的$ORACLE_BASE中的内容
4:快速恢复区路径设置(我在这里不设置所以注释掉了)
5:修改diagnostic_dest
6:修改dispatchers中的SERVICE为PRODXDB
7:添加控制文件的文件名
===============================
db_name='prod'
memory_target=600M
processes = 150
audit_file_dest='/u01/app/oracle/admin/prod/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
#db_recovery_file_dest='/flash_recovery_area'
#db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=PRODXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (/u01/app/oracle/oradata/prod/control01.ctl,/u01/app/oracle/oradata/prod/control02.ctl)
compatible ='11.2.0'
===============================
5.使用之前创建的参数文件启动数据库到nomount状态下
[oracle@ocm ~]$ export ORACLE_SID=prod
[oracle@ocm ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 24 18:26:51 2012

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

Connected to an idle instance.

SYS@prod>create spfile from pfile;

File created.

SYS@prod>startup nomount;
ORACLE instance started.

Total System Global Area 626327552 bytes
Fixed Size 2215944 bytes
Variable Size 373297144 bytes
Database Buffers 247463936 bytes
Redo Buffers 3350528 bytes

6.在10gR2中本来是需要手动修改undo_management,job_queue_processes等参数,但是show parameter后发现这些参数在11gR2版本中的值都已经符合要求,也就不需要修改了。
SYS@prod>show parameter undo_management

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
SYS@prod>show parameter job_queue_processes

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 1000
SYS@prod>show parameter _dump_

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/diag/rdbms/pro
d/prod/trace
core_dump_dest string /u01/app/oracle/diag/rdbms/pro
d/prod/cdump
max_dump_file_size string unlimited
user_dump_dest string /u01/app/oracle/diag/rdbms/pro
d/prod/trace

使用命令行手工建立Oracle 11gR2数据库