这几天单位需要安装linux系统下的oracle
所以就综合网上的资料,总结一个安装配置说明。
一方面是为了自己做个总结,方便以后使用。另一方面为了还不会安装的朋友有个参考。
呵呵,还是第一次写这个呢。
如果有什么不对的地方,希望能够指出来,让我有提高提高。(不要拍我)
下面就开始吧。
linux版本
10201_database_linux_x86_32.cpio.gz
1.新建oracle用户和组(root登录)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
2.创建Oracle的安装目录(root登录)
创建Oracle的安装目录(目录可以自己定义,这只是一个范例),
并把权限付给oracle用户:
mkdir -p /home/app/oracle/product/10.2.0/db_1
chown -R oracle:oinstall /home
注意:/home下的app/oracle/product/10.2.0/db_1这个路径名应尽量叫的规范。
3.检查需要的软件包(root登录)
我们使用命令 rpm -qa|grep binutils 检查软件包是否安装,
如果没有安装,把光盘插入光驱,进入光盘的Server目录,
执行 rpm -ivh binutils-2.17.*.rpm 命令安装软件包。
(上面只是用binutils-2.17.50.0.6软件包为例说明了检查和安装的方法,其它软件包类同)。
需要的软件包
# rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
# rpm -Uvh setarch-2*
# rpm -Uvh make-3*
# rpm -Uvh glibc-2*
# rpm -Uvh libaio-0*
# rpm -Uvh compat-libstdc++-33-3*
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c++-3*
# rpm -Uvh gcc-4*
修改/etc/hosts
确认文件有有下面的内容。
127.0.0.1 localhost localadmin.localadmin
4.上次oracle文件并且解压(oracle登录)
用oracle用户上传安装文件,若不然需要更改这两个文件的修改访问权限
拷贝到新增的ORACLE用户下即 /home/oracle ,否则用ORACLE用户登陆安装时,
ORACLE用户不能访问此database目录.
如果是root用户拷贝并解压的oracle文件,需要执行下面的赋予权限的语句给oracle用户。
下面我写了两种解压方式,
第一种是cpio.gz的解压
第二种是zip的解压
zcat 10201_database_linux_x86_64.cpio.gz | cpio –idmv
unzip 10201_database_linux32.zip
这里会解包生成database的目录,内含runInstaller的安装脚本。
5.修改oracle的自带文件:(oracle登录)
database/install/oraparam.ini文件
[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
修改为:
[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,redhat-5
#此修改主要是为了安装Oracle时能使redhat-5系统通过需求验证。
6.修改系统内核参数(root登录)
/etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
关于SEM等的说明:
sem 4个参数依次为 SEMMSL(每个用户拥有信号量最大数);
SEMMNS(系统信号量最大数);
SEMOPM(每次semopm系统调用操作数);
SEMMNI(系统辛苦量集数最大数).
Shmmax 最大共享内存2GB 物理内存如果小的话可以设置成 536870912.
Shmmni 最小共享内存 4096KB.
Shmall 所有内存大小.
RHEL5已经为 kernel.shmall 和 kernel.shmmax 定义了值。
如果默认值等于或大于要求值,则使用默认值。
修改好内核参数后,执行如下命令使新的设置生效
# /sbin/sysctl –p
7.添加以下内容到/etc/security/limits.conf(root登录)
/etc/security/limits.conf
增加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
8.配置oracle用户环境变量(oracle用户)
/home/oracle/.bash_profile
增加如下内容:
export ORACLE_BASE=/home/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export TMP=/tmp
export TMPDIR=$TMP
export PATH
umask 022
保存后使用如下命令,使设置生效:
$ source ~/.bash_profile
9.更改语言(root登录)
主要是为了防止安装过程中出现乱码,安装完毕后,应手工还原回来。
步骤如下:
切换到ROOT用户, 编辑
/etc/sysconfig/i18n
LANG=’zh_CN.UTF-8’改为: LANG='en_US.UTF-8'
退出后,请编译此文件:
source /etc/sysconfig/i18n
重新切换到ORACLE用户进行安装.
10.开始安装(oracle用户)
以oracle身份进入/home/oracle/database目录下,
执行./runinstaller ,请勿使用远程桌面安装。
如果用远程桌面安装
需要用root用户运行下面的语句
# export DISPLAY=:0.0
# xhost +
安装后期会出现如下内容,此时需要切换到root用户执行一下内容
./orainstRoot.sh
./root.sh
安装安装提示出来的路径去执行就可以了。
以上就安装完成了。下面是完全从网上copy的。
安装后应查看oracle字符集
lsnrctl
start
status
exit
export ORACLE_SID= orcl
sqlplus /nolog
connect /as sysdba
startup
select name,value$ from props$ where name like '%NLS%';
出现一行NLS_CHARACTERSET,其值若不是ZHS16GBK,必需修改数据库的字符集。
修改方法如下:
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT;
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;// ZHS16GBK为目标字符集,“INTERNAL_USE”参数用于跳过子集检查
SQL>ALTER DATABASE national CHARACTER SET ZHS16GBK;//此处可能出错,没有影响
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP
现在开始导入dmp文件就OK了
4.创建监听以及创建数据库
(1) 创建监听程序
使用Oracle提供的NET CONFIGURATION ASSISTANT创建TNS监听
$ netca
基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号
TNS监听创建完成后可以使用如下命令进行检查:
# netstat -atln 检查监听端口是否打开
$ lsnrctl status 检查TNS监听状态
确认监听已经成功启动后,即可执行Database Configure Assistant进行数据库的创建,执行命令如下:
$ dbca
在创建数据库的过程中,建议将数据库的字符集设置为Unicode UTF-8,防止出现乱码。
chown -R oracle:oinstall /home/oracle/database