原文出自烂泥行天下, 本人加以精简以及完善.
数据库下载地址:
http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux_x86_64.cpio.gz
http://mirrors.163.com/.help/CentOS6-Base-163.repo
1.配置网易163的yum源:
# cd /etc/yum.repos.d/
# mv /home/www/ftpfile/CentOS6-Base-163.repo CentOS-Base.repo
2. 更新yum源:
# yum clean all
# yum makecache
# yum update
3. 下载必须安装包:
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
# yum install libXp
# yum -y install libXp.i686
# yum -y install libXt.i686
# yum -y install libXtst.i686
4. 修改 sysctl.conf 配置文件:
# vim /etc/sysctl.conf
在文件末尾添加一下内容:
#use for Oracle
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
立即执行修改:
# sysctl -p
5. 修改 limits.conf 配置文件. 此文件用于设置系统资源限制.
# vi /etc/security/limits.conf
在文件末尾加上以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6. 编辑 /etc/pam.d/login 文件:
# vi /etc/pam.d/login
在文件末尾加上以下内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
7. 创建相应的用户名和用户组:
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
修改密码:
# passwd oracle
8. 修改 /etc/profile 限制其他用户使用:
# vim /etc/profile
在文件末尾加入以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
注意: 如果文件是不能修改的. 保存时输入 :wq! 强制保存.
9. 修改Linux 发行版本. 因为Oracle10G发行的时候, Centos6.5还没有发行. 所以必须修改:
# vim /etc/redhat-release
删除文件本身内容, 重新录入以下内容:
redhat-4
10. 创建oralce安装目录以及数据存放目录.
# mkdir -p /software/app/oracle/
# chown -R oracle:oinstall /software/app/oracle/
# chmod -R 775 /software/app/oracle/
11. 配置Oracle用户环境变量:
# vi /home/oracle/.bash_profile
在文件末尾加入以下内容:
#Oracle Settings
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/software/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export ORACLE_SID=orcl;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
12. 使配置生效:
# source /home/oracle/.bash_profile
13. 解压安装文件:
将下载的10201_database_linux_x86_64.cpio.gz(数据库安装文件) 复制到 /software/app/oracle/目录下.
我是从FTP目录下复制过去.
# cp /home/www/ftpfile/10201_database_linux_x86_64.cpio.gz /software/app/oracle/
14. 解压安装包:
首先解压gz包.
# gzip -d 10201_database_linux_x86_64.cpio.gz
在使用cpio解压出文件.
# cpio -idmv < 10201_database_linux_x86_64.cpio
15. 更改解压出来的database文件件及文件的所有者和用户组为oracle和oinstall.
# chown -R oracle:oinstall /software/app/oracle/database/
16. 切换到oralce 用户, 进行数据库的安装:
# su - oracle
注意: 此处加 - 是为了切换环境变量.
如果是VNC用户:
此处需要先设置 VNC 用户登陆密码:
# vncpasswd
设置完成密码后, 使用 VNC Vivwer 连接到VNC后在开始安装.
17. 执行安装:
$ cd /software/app/oracle/database/
$ ./runInstaller
注意: 如果执行此命令时出现此错误(DISPLAY not set. Please set the DISPLAY and try again):
切换回root用户.
# su
# export DISPLAY=:0.0
如果是 VNC 用户, 使用 :
# export DISPLAY=:1, 或者 export DISPLAY=:2 这样的模式.
# xhost +
执行完成后, 再次切换回 (# su - oracle) oracle用户执行 ./runInstaller.
注意: 如果安装时出现以下错误: (libXp.so.6)
切换到root用户, 执行:
# yum -y install libXp.i686
注意: 如果安装时出现以下错误: (libXt.so.6)
# yum -y install libXt.i686
注意: 如果安装时出现以下错误: (libXtst.so.6)
#yum -y install libXtst.i686
Oracle安装必须使用界面安装. 执行 ./runInstaller 之后就会弹出安装界面. 用户进行选择安装.
安装步骤:
1.
这里选高级安装.
2.
选择证书存放目录, 这里不用选择, 系统已经自动填充了. 直接下一步.
3.
选择企业版, 选择语言为英文和简体中文.
4.
选择安装目录, 因为在oralce用户的环境变量里已经指定了($ vim /home/oracle/.bash_profile). 这里会自动填充.
5.
执行安装前检查.
6.
这里选择创建数据库.
7.
这里选择一般用途.
8.
这里一定要注意, 要修改数据库字符集编码. 其他的不选.
9.
直接下Next
10.
直接Next
11.
设置数据库连接密码.
12.
显示安装概要. 直接安装.
13.
安装到65%的时候会出现这个错误. 据了解是安装程序的一个BUG. 直接选Continue(继续安装)
14.
主机映射名称错误, 需要root用户修改hosts映射.
# vim /etc/hosts
在文件末尾添加以下内容:
# 主机地址 主机名称
192.168.1.244 letcore.server
15.
解决:
另外开一个终端. 连接root用户, 修改内核参数.
# id oracle
可以看到oracle的组dba id 为 501
注意: 此处为dba组的id, 不然可能下次进入服务器的时候. 无法启动数据库.
修改内核参数:
echo "501" > /proc/sys/vm/hugetlb_shm_group
修改完毕后点击Igonre
完毕之后如果没有进行下一步.点击retry 重新进行安装就行.
16. 以上省略了一部分页面. 全部选择默认就OK
此页面. 需要用户另外开启一个终端. 使用root用户连接. 执行图中给出的两个sh文件.
# cd /software/app/racle/oraInventory/
# ./orainstRoot.sh
# sh +x /software/app/racle/product/10.2.0/db_1/root.sh
17.
终于执行完成了.
18.
校验安装是否成功.
连接地址: 127.0.0.1:5560/isqlplus/
或者: 主机名:5560/isqlplus/ 如: letcore.server:5560/isqlplus/
使用:
$ lsnrctl status 查看数据库监听状态.
$ lsnrctl start 开启监听.
$ lsnrctl stop 关闭监听.
数据库安装完成后, 登陆数据库. 建立表空间, 建立用户等操作.
全部使用oralce用户操作.
1. 创建表空间存放目录:
$ mkdir /software/app/oracle/oradata/tablespace/
2. 连接sqlplus:
$ sqlplus "/ as sysdba"
3. 建立临时表空间:
create temporary tablespace temp_tablespase tempfile'/software/app/oracle/oradata/tablespace/temp_tablespase.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;
4. 建立数据表空间:
create tablespace test_tablespace logging datafile'/software/app/oracle/oradata/tablespace/test_tablespace.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;
5. 建立用户:
create user zoooq identified by zoooq default tablespace test_tablespace temporary tablespace temp_tablespase;
6. 赋值权限:
grant dba to zoooq;
最后一步. 使用在windows平台下使用PL-SQL连接数据库:
输入用户名和密码,
在数据库选项中输入: 192.168.1.244:1521/ORCL
进行连接.
使用PL-SQL连接数据库时容易出现的错误:
ORA-12170:TNS:连接超时
此错误有可能是因为服务器的防火墙阻止了用户连接.
# service iptables stop
重启服务器后. 重新启动数据库:
# su – oracle
$ sqlplus "/as sysdba"
SQL>startup
SQL>exit
$ lsnrctl start