《Linux下手工创建Oracle 10g数据库》
在Linux系统上手工创建Oracle 10g数据库是一项需要严谨操作的技术任务,它要求数据库管理员(DBA)具备扎实的Linux系统知识、Oracle数据库架构理解能力以及精确的命令行操作技巧。本文将详细阐述从环境准备到数据库创建完成的完整流程,旨在为DBA提供一份可操作的指南。
一、环境准备
在开始创建数据库之前,必须确保Linux系统满足Oracle 10g的最低硬件和软件要求。这包括足够的内存(建议至少1GB RAM)、足够的磁盘空间(用于安装软件和存储数据)、以及正确的操作系统版本(如Oracle Enterprise Linux、Red Hat Enterprise Linux或SUSE Linux Enterprise Server等)。
1、安装依赖包
Oracle 10g需要一系列的依赖包才能正常运行。在Linux上,可以使用yum(对于RPM-based系统)或apt-get(对于Debian-based系统)等包管理器来安装这些依赖。以下是一个基于RPM-based系统的示例命令:
yum install binutils compat-libstdc++-33 gcc gcc-c++ glibc glibc-common ksh libaio libgcc libstdc++ make sysstat
2、创建Oracle用户和组
出于安全考虑,Oracle软件通常以非root用户身份运行。因此,需要创建一个专门的Oracle用户和组:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
3、配置内核参数
Oracle 10g对内核参数有一定的要求,以确保系统能够稳定运行。编辑/etc/sysctl.conf文件,添加或修改以下参数:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
应用这些更改:
sysctl -p
4、配置用户限制
编辑/etc/security/limits.conf文件,为Oracle用户设置资源限制:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
二、安装Oracle 10g软件
1、下载并解压安装包
从Oracle官方网站下载Oracle 10g的Linux版本安装包,并解压到指定目录:
unzip 10201_database_linux32.zip
2、设置环境变量
切换到Oracle用户,编辑.bash_profile或.bashrc文件,设置ORACLE_BASE、ORACLE_HOME和PATH等环境变量:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
应用这些更改:
source ~/.bash_profile
3、运行安装程序
进入解压后的database目录,运行runInstaller脚本开始安装:
cd database
./runInstaller
按照图形界面提示完成安装过程,包括选择安装类型、指定安装目录、配置网络选项等。
三、手工创建数据库
安装完Oracle软件后,接下来是手工创建数据库的过程。这通常涉及编辑初始化参数文件、创建控制文件、数据文件和重做日志文件等。
1、创建初始化参数文件
初始化参数文件(init.ora或spfile.ora)包含了数据库启动时所需的参数。可以在$ORACLE_HOME/dbs目录下创建一个文本格式的init.ora文件,内容如下:
db_name=orcl
instance_name=orcl
control_files='/u01/app/oracle/oradata/orcl/control01.ctl', '/u01/app/oracle/oradata/orcl/control02.ctl', '/u01/app/oracle/oradata/orcl/control03.ctl'
db_block_size=8192
processes=150
sessions=170
undo_management=AUTO
undo_tablespace=UNDOTBS1
2、创建目录结构
为数据库文件创建必要的目录结构:
mkdir -p /u01/app/oracle/oradata/orcl
mkdir -p /u01/app/oracle/admin/orcl/adump
mkdir -p /u01/app/oracle/admin/orcl/pfile
3、创建控制文件
控制文件是数据库的关键组成部分,它记录了数据库的物理结构。可以使用SQL*Plus创建控制文件,但通常更推荐使用Oracle提供的CREATE CONTROLFILE命令在SQL脚本中定义。以下是一个示例脚本片段:
STARTUP NOMOUNT;
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.log') SIZE 50M,
GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log') SIZE 50M,
GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log') SIZE 50M
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf' SIZE 325M REUSE,
'/u01/app/oracle/oradata/orcl/undotbs01.dbf' SIZE 200M REUSE,
'/u01/app/oracle/oradata/orcl/sysaux01.dbf' SIZE 240M REUSE,
'/u01/app/oracle/oradata/orcl/users01.dbf' SIZE 50M REUSE
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
;
注意:在实际操作中,应根据具体需求调整文件路径、大小和字符集等参数。
4、启动数据库到NOMOUNT状态并执行创建控制文件脚本
在SQL*Plus中,以SYSDBA身份连接数据库,并执行上述创建控制文件的脚本。
5、创建数据文件和重做日志文件
虽然控制文件脚本中已经定义了数据文件和重做日志文件的位置和大小,但确保这些文件实际存在且可访问是很重要的。通常,这些文件会在数据库启动时根据控制文件的描述自动创建或重用。
6、打开数据库
执行以下命令打开数据库:
ALTER DATABASE OPEN;
7、创建必要的表空间和用户
根据业务需求,创建额外的表空间和用户,并分配适当的权限。
四、后续配置
1、配置监听程序
编辑$ORACLE_HOME/network/admin/listener.ora文件,配置监听程序以监听来自客户端的连接请求。
2、配置tnsnames.ora
编辑$ORACLE_HOME/network/admin/tnsnames.ora文件,定义数据库服务名,以便客户端能够连接到数据库。
3、启动监听程序
lsnrctl start
4、测试连接
使用SQL*Plus或其他Oracle客户端工具测试与数据库的连接。
关键词:Linux系统、Oracle 10g数据库、环境准备、依赖包安装、Oracle用户创建、内核参数配置、用户限制设置、Oracle软件安装、初始化参数文件、控制文件创建、数据文件与重做日志文件、数据库启动与打开、表空间与用户创建、监听程序配置、tnsnames配置
简介:本文详细阐述了在Linux系统上手工创建Oracle 10g数据库的完整流程,包括环境准备、Oracle软件安装、手工创建数据库及后续配置等关键步骤,为数据库管理员提供了一份可操作的指南。