ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 手动安装Oracle数据库的方法(Redhat Linux)

手动安装Oracle数据库的方法(Redhat Linux)

原创 Linux操作系统 作者:ljm0211 时间:2012-06-20 16:14:27 0 删除 编辑
前提:已经创建好Oracle用户和组,安装好Oracle数据库软件

1、配置Oracle用户下的.bash_profile文件
在.bash_profile中增加如下内容:
# Oracle Settings
NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
export NLS_LANG
TMP=/tmp
export TMP
TMPDIR=$TMP
export TMPDIR
ORACLE_BASE=/home/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/ora10g
export ORACLE_HOME
ORACLE_SID=test
export ORACLE_SID
ORACLE_TERM=xterm
export ORACLE_TERM
PATH=/usr/sbin:$PATH
export PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
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

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi


2、手动创建如下目录
$ORACLE_BASE/admin/test/cdump
$ORACLE_BASE/admin/test/bdump
$ORACLE_BASE/admin/test/udump
$ORACLE_BASE/admin/test/adump
$ORACLE_BASE/oradata/test

3、根据$ORACLE_HOME/dbs下init.ora初始化参数文件样本创建初始化参数文件
使用下面的命令,把所有以#开头和所有的空行全部过滤掉,同时生成最简单的 initTEST.ora初始化参数文件。
$ cat init.ora | grep -v ^# | grep -v ^$ > inittest.ora

修改inittest.ora文件中db_name参数为实际的SID(test),修改control_files参数为实际的control file位置,然后在inittest.ora中加入如下参数:
job_queue_processes=5
sga_max_size=280M
sga_target=280M
undo_management=auto
undo_tablespace=undotbs1
db_block_size=8192
db_create_file_dest = /home/oracle/oradata/test
db_create_online_log_dest_1 = /home/oracle/oradata/test
audit_file_dest=/home/oracle/oradata/test/adump
background_dump_dest=/home/oracle/oradata/test/bdump
core_dump_dest=/home/oracle/oradata/test/cdump
user_dump_dest=/home/oracle/oradata/test/udump


因为我们使用了sga_target参数,启动了ASMM,所以去掉inittest.ora中的db_block_buffers和shared_pool_size参数。

4、启动数据库到nomount状态,启动确认静态参数文件正确后创建spfile,并重新启动数据库
SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  293601280 bytes
Fixed Size                  1261444 bytes
Variable Size              96469116 bytes
Database Buffers          192937984 bytes
Redo Buffers                2932736 byte

SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> create spfile from pfile;

SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  293601280 bytes
Fixed Size                  1261444 bytes
Variable Size              96469116 bytes
Database Buffers          192937984 bytes
Redo Buffers                2932736 bytes

5、创建密码文件
用orapwd程序创建orapwTEST密码文件,如果记不清楚orapwd程序怎么用,直接敲orapwd然后回车,会告诉你语法是怎样的。
orapwd file=$ORACLE_HOME/dbs/orapwtest password=zjljm123 entries=5

6、创建数据库
要快速找到例句,如果你去查SQL Reference文档中的create database的语法,时间肯定是比较紧张的,
我们要查的是Administrator’s Guide这本文档中第二章 Creating an Oracle Database -> Creating the database ->
Step 7: Issue the CREATE DATABASE Statement,这里有完整的一条SQL语句,copy出来,然后按照考试要求去编辑相应的地方,
然后执行,这样出来的命令基本上不会出现问题。

CREATE DATABASE test
USER SYS IDENTIFIED BY zjljm123
USER SYSTEM IDENTIFIED BY zjljm123
LOGFILE GROUP 1 ('/home/oracle/oradata/test/redo01.log') SIZE 100M,
GROUP 2 ('/home/oracle/oradata/test/redo02.log') SIZE 100M,
GROUP 3 ('/home/oracle/oradata/test/redo03.log') SIZE 100M
MAXLOGFILES 30
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/home/oracle/oradata/test/system01.dbf' SIZE 225M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/home/oracle/oradata/test/sysaux01.dbf' SIZE 125M REUSE
DEFAULT TABLESPACE users
DATAFILE '/home/oracle/oradata/test/users01.dbf'
SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/home/oracle/oradata/test/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/home/oracle/oradata/test/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

7、运行catalog.sql 和 catproc.sql
只需要运行这两个SQL,都在$ORACLE_HOME/rdbms/admin中,创建必须的数据字典和内置的package等
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql

optional:
connect /as sysdba
@?/rdbms/admin/catblock.sql
@?/rdbms/admin/catoctk.sql
@?/rdbms/admin/owminst.plb

connect system/oracle
@?/sqlplus/admin/pupbld.sql
@?/sqlplus/admin/help/hlpbld.sql helpus.sql
Note :section0中没有要求你运行catalog ,catproc脚本,但是如果时间有多我建议在section 0中就运行这2个脚本为下一个 section节省时间.

8、配置数据库和网络
将$ORACLE_HOME/network/admin/samples下面的listener.ora和tnsnames.ora复制到$ORACLE_HOME/network/admin下,然后按照这两个文件中的格式说明,配置listener.ora和tnsnames.ora,如果配置listener为动态注册,需要修改数据库参数Local_Listener。
[oracle@test1 admin]$ cat listener.ora
LISTENER_TEST =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))

SID_LIST_LISTENER_TEST=
(SID_LIST=
(SID_DESC=
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /home/oracle/ora10g)
(PROGRAM = extproc)
)
#       (SID_DESC=
#          (GLOBAL_DBNAME=test)
#          (SID_NAME=test)
#          (ORACLE_HOME=/home/oracle/ora10g)
#         (PRESPAWN_MAX=20)
#         (PRESPAWN_LIST=
#           (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
#         )
#       )
)


[oracle@test1 admin]$ cat tnsnames.ora
test=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL=tcp)
(HOST=88.22.6.201)
(PORT=1522)
)
)
(CONNECT_DATA =
(SID = test)
)
)
)

LISTENER_TEST=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL=tcp)
(HOST=88.22.6.201)
(PORT=1522)
)
)
(CONNECT_DATA =
(SID = test)
)
)
)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11411056/viewspace-733431/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-05-14

  • 博文量
    272
  • 访问量
    442038