linux5.8下oracle10g安装和配置详解
1新建yum仓库
如果有外网,可以配置阿里云的源,没外网,可以把光驱里的系统碟作为源仓库来安装一些oracle依赖的包;
mount /dev/cdrom /mnt/
sed -i 's/gpgcheck=1/gpgcheck=0/' /etc/yum.conf
echo "[base]" >/etc/yum.repos.d/CentOS-Base.repo
echo "name=CentOS-Base" >>/etc/yum.repos.d/CentOS-Base.repo
echo "baseurl=file:///mnt/Server" >>/etc/yum.repos.d/CentOS-Base.repo
echo "enabled=1" >>/etc/yum.repos.d/CentOS-Base.repo
2安装包
yum -y install binutils*
yum -y install compat-db*
yum -y install control-center*
yum -y install gcc*
yum -y install gcc-c++*
yum -y install glibc*
yum -y install glibc-common*
yum -y install libstdc++*
yum -y install libstdc++-devel*
yum -y install make*
yum -y install pdksh*
yum -y install sysstat*
yum -y install libXp*
可以一次性安装,然后,rpm -q binutils* compat-db* control-center* gcc* gcc-c++* glibc* glibc-common* libstdc++* libstdc++-devel* make* pdksh* sysstat* install libXp*(检查这些包是否都已经安装)
3
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
echo oracle|passwd --stdin oracle
新建数据库用户组和用户,并把oracle用户加入到群组里,如果oracle没成功加入用户组,后面会出现一些提示权限的问题
4
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "fs.file-max = 65536" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 262144" >>/etc/sysctl.conf
sysctl -p
修改一些内核参数
5
mkdir /oracle
mkdir /oracle/10g
mkdir /osource
chown -R oracle:oinstall /oracle
创建oracle安装目录/oracle/10g
sed -i 's/5/4/' /etc/redhat-release修改版本到4
修改oracle用户环境变量
修改oracle用户家目录下/users/oracle/.cshrc
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/10g
ORACLE_SID=***(数据库的名字)
PATH=$ORACLE_HOME/bin:$PATH:.
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
安装文件传到/osource目录下解压
gunzip 10201_database_linux_x86_64.cpio.gz
cpio -idm < 10201_database_linux_x86_64.cpio
解压后生成database目录
因安装Oracle数据库时需调用图形界面,可在Linux本机上进行以下步骤,或用Xshell+Xmanager。
以oracle用户登录,用locale命令查看当前系统语言环境,如果是中文(zh_CN.UTF-8),为避免Oracle的安装界面出现乱码,需将语言环境临时改成英文:
$ export LANG=en_US
到/osource/database目录下
运行runInstaller文件:
runInstaller
按照提示完成图形化安装
6创建完后,在oracle用户用dbca工具创建数据库:dbca
注意事项:建库过程中选择Character set为ZHS16GBK(一般默认为WE8ISO8859P1),NCHAR Character set为AL16UTF16。
7建库完成后
在oracle用户下运行数据库连接命令:
$ sqlplus / as sysdba
若显示“Connected to an idle instance”则说明数据库存在问题)
回到root用户输入命令:
lsnrctl start(启动oracle监听)
启动监听过程可能会报错失败:
lsnrctl start
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 03-8月 -2011 02:4
1:43
Copyright (c) 1991, 2010, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production
系统参数文件为D:\app\zhou\product\11.2.0\dbhome_1\network\admin\listener.ora
写入d:\app\zhou\diag\tnslsnr\zhou-PC\listener\alert\log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=)(PORT=2484)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521
)))
TNS-12545: 因目标主机或对象不存在, 连接失败
TNS-12560: TNS: 协议适配器错误
TNS-00515: 因目标主机或对象不存在, 连接失败
32-bit Windows Error: 49: Unknown error
监听程序未能启动。请参阅上面的错误消息...
根据提示host有问题:除了修改listener.ora,还要修改tnsnames.ora里面的host参数为自己主机的hostname
再运行:
SQL> alter system set filesystemio_options=directio scope=spfile;
应该看到“System altered
最后运行:
SQL> startup force
应该看到“ORACLE instance started…”字样。
完成后exit。
配置TNS、LISTENER
-
在oracle用户下运行命令:
$ netca
-
进行LISTENER配置。
一路“Next”即可。
-
再进行Local Net Service Name 配置。
选择“Add”—>输入服务名(如test)—>选择“TCP”—>输入Host name(填数据库服务器IP地址),并使用标准端口号1521—>选择“Yes,perform a test”,点击“Change Login”—>输入正确的用户名和口令,看到返回“Connecting...Test successful”提示。
完成后退出。