在Linux 64位下安装配置Oracle11g R2,来自网络上文章的修改,自己整合了一下:
一、Linux环境安装oralce
环境:Linux:Redhat Enterprise 5.2,
DB:Oracle 11g R2 X64,
本例是将Oracle 11g安装到linux的/home/oradb/oracle目录下。
配置过程:
1、 检查基本需求
内存大小
复制代码
交换分区大小
复制代码
增加交换分区
创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G,以此类推。
复制代码
接着把这个分区变成swap分区。
复制代码
使用这个swap分区。使其成为有效状态
复制代码
最后把它加到fstab里面
复制代码
这样重启之后swap就是现在设置的大小了。
这里要注意的是swap的大小最小最后等于内存的大小,另外TMP和/ 可以设置为15G。
检查主机名: hostname
检查网络配置: ifconfig eth0
查看host文件: cat /etc/hosts
2、 检查软件需求,用yum install来安装
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh
(以上如果出现没有安装的,把Linux光盘放入,在Server文件夹,找到对应的RPM包,运行RPM命令来进行安装,如果喜欢图形界面,在图像界面中通过双击对应的RPM包来安装。需要注意的是在安装libaio-devel unixODBC unixODBC-devel 这3个软件包的时候,除了安装X64的包以为,还要安装i386的包,不能因为是X64的系统,就不装i386的包了。 )
本例中libaio-devel-0.3.106 unixODBC-2.2.11 unixODBC-devel-2.2.11 这三个包的32位安装了,但是在oracle中提示检测失败,本例跳过检测来安装的。
3、配置内核。
将以下内容添加至文件:/etc/sysctl.conf
复制代码
执行以下命令使 /etc/sysctl.conf 的更改立即生效。
复制代码
4、将以下内容添加至文件:/etc/security/limits.conf
复制代码
5、将以下内容添加至文件:/etc/pam.d/login
复制代码
注意:X64的系统,这里就要用 /lib64/security/pam_limits.so,如果是32位的系统应该是
/lib/security/pam_limits.so
6、 将以下内容添加至文件: /etc/profile
复制代码
7、创建操作系统用户,作为安装软件和支持组的拥有者,并设置oracle用户密码
复制代码
这里需要检查是否有nobody用户,没有的话要添加一个,检测命令:
id nobody
8、创建软件的安装目录并设置目录权限给oracle用户
复制代码
9、 将以下内容添加至文件: /home/oracle/.bash_profile
复制代码
上面这个配置文件要记住,后面安装的时候需要相同的设置,以上目录可以自行定义。
添加完以上内容后保存退出,通过命令: source .bashrc 者 ./.bashrc 使“.bash_profile”设置生效,
也可以通过重新切换到oracle用户来生效。
用oracle登录后,验证变量是否生效: echo $ORACLE_BASE
以上所有修改文件尽量不要用复制粘贴,否则用vi查看每行的代码,没行代码的后面会多出“^m”字符,导致环境变量等出错无法识别,导致后面的sqlplus无法使用。
10、在图形界面下(本机操作或通过VNC远程操作) 以root打开一个终端窗口
--这步好像是设置显示什么的,比较重要,不执行这步在以oracle用户运行“ ./runInstaller ”时会启动不了oracle的图型安装界面
复制代码
11、将下载的Oracle安装文件解压到Linux中,然后安装数据库,需要赋予oracle对下面database的权限,否则可能安装不了。
复制代码
注意:这里一定要用oracle用户来安装。database目录里是oracle的安装文件。
12、之后开始出现图形化的安装向导,按照向导操作即可。 注意安装目录等和“.bash_profile”文件里要对应起来
这里有个问题要提醒一下, oracle的密码是大小写字母+数字,数字不能放在密码的开头 ,尽量按照密码的规范来设置,否则后面的安装可能出错
二、确认安装是否成功
Linux下Oracle在安装结束后就是处于运行状态。输入:
复制代码
可看到以Oracle用户运行的进程。
在图形化界面下,运行
复制代码
会出现Oracle自带的免费Oracle管理客户端SQL Developer。
现在连接刚安装的Oracle,看看是否能连接成功。
另外也可以通过https://localhost:1158/em/来访问控制台。
三、手动启动oracle服务
reboot重启服务器后,Oracle默认情况下没有在系统中注册成服务,随系统启动而启动的,这时需要手动输入命令来启动。
启动方式:
以oracle用户登录运行以下语句:
1,进入sqlplus:
复制代码
2,以sysdba的身份连接到数据库,并启动Oracle数据库引擎:
复制代码
3,退出sqlplus,运行Listener监听服务
复制代码
这样数据库的TNS服务启动了,可通过网络来连接数据库。一般情况启动这两个就够了,如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:
复制代码
这样就可以通过https://localhost:1158/em来访问EM控制台了。
四、配置Oracle的开机自启动
为了每次开机的时候能自动启动Oracle,可以将Oracle配置为Linux的服务。操作如下:
1、以root用户建立一个脚本文件
复制代码
内容如下(环境变量的设置根据实际情况进行修改):
复制代码
以上所有修改文件尽量不要用复制粘贴,用vi检查每行的代码后面是否有“
^m
”
或者“
空格
”,将其去掉,否则会出错。
2、以root用户执行以下命令,给权限,添加系统启动服务
复制代码
3、重启服务
复制代码
这样在服务器开启和关闭的时候oracle就能自动启动和停止。
4、修改/etc/oratab这个文件,将最后的N改为Y,如下:
复制代码
最后,重启服务器,利用客户端便可以正常连接到Oracle数据库。
至此,Oracle环境配置完成。
一、Linux环境安装oralce
环境:Linux:Redhat Enterprise 5.2,
DB:Oracle 11g R2 X64,
本例是将Oracle 11g安装到linux的/home/oradb/oracle目录下。
配置过程:
1、 检查基本需求
内存大小
- grep MemTotal /proc/meminfo
- grep SwapTotal /proc/meminfo
创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G,以此类推。
- dd if=/dev/zero of=/home/swap bs=1024 count=5120000
- mkswap /home/swap
- /sbin/swapon /home/swap
- echo "/home/swap swap swap defaults 0 0" >> /etc/fstab
这里要注意的是swap的大小最小最后等于内存的大小,另外TMP和/ 可以设置为15G。
检查主机名: hostname
检查网络配置: ifconfig eth0
查看host文件: cat /etc/hosts
2、 检查软件需求,用yum install来安装
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh
(以上如果出现没有安装的,把Linux光盘放入,在Server文件夹,找到对应的RPM包,运行RPM命令来进行安装,如果喜欢图形界面,在图像界面中通过双击对应的RPM包来安装。需要注意的是在安装libaio-devel unixODBC unixODBC-devel 这3个软件包的时候,除了安装X64的包以为,还要安装i386的包,不能因为是X64的系统,就不装i386的包了。 )
本例中libaio-devel-0.3.106 unixODBC-2.2.11 unixODBC-devel-2.2.11 这三个包的32位安装了,但是在oracle中提示检测失败,本例跳过检测来安装的。
3、配置内核。
将以下内容添加至文件:/etc/sysctl.conf
- # Kernel paramaters required by Oracle 11gR1
- fs.file-max = 6815744
- fs.aio-max-nr = 1048576
- kernel.shmall = 2097152
- kernel.shmmax = 2147483648
- kernel.shmmni = 4096
- kernel.sem = 250 32000 100 128
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 4194304
- net.core.rmem_max = 4194304
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048576
- sysctl –p
4、将以下内容添加至文件:/etc/security/limits.conf
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
5、将以下内容添加至文件:/etc/pam.d/login
- session required /lib64/security/pam_limits.so
- session required pam_limits.so
6、 将以下内容添加至文件: /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
7、创建操作系统用户,作为安装软件和支持组的拥有者,并设置oracle用户密码
- groupadd oinstall
- groupadd dba
- useradd -g oinstall -G dba oracle
- passwd oracle
8、创建软件的安装目录并设置目录权限给oracle用户
- mkdir –p /home/oradb/oracle/
- chown -R oracle.oinstall /home/oradb/
- chmod -R 755 /home/oradb/
9、 将以下内容添加至文件: /home/oracle/.bash_profile
- umask 022
- ORACLE_BASE=/home/oradb/oracle
- ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
- ORACLE_SID=orcl --实例名,根据需要进行修改,这里是oracle数据线系统安装的时候默认的
- PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
- LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
- LANG=C --设定此参数避免安装的时候出现乱码
- export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG
添加完以上内容后保存退出,通过命令: source .bashrc 者 ./.bashrc 使“.bash_profile”设置生效,
也可以通过重新切换到oracle用户来生效。
用oracle登录后,验证变量是否生效: echo $ORACLE_BASE
以上所有修改文件尽量不要用复制粘贴,否则用vi查看每行的代码,没行代码的后面会多出“^m”字符,导致环境变量等出错无法识别,导致后面的sqlplus无法使用。
10、在图形界面下(本机操作或通过VNC远程操作) 以root打开一个终端窗口
--这步好像是设置显示什么的,比较重要,不执行这步在以oracle用户运行“ ./runInstaller ”时会启动不了oracle的图型安装界面
- xhost +
- xhost + localhost
11、将下载的Oracle安装文件解压到Linux中,然后安装数据库,需要赋予oracle对下面database的权限,否则可能安装不了。
- #su - oracle
- cd database/
- ./runInstaller
12、之后开始出现图形化的安装向导,按照向导操作即可。 注意安装目录等和“.bash_profile”文件里要对应起来
这里有个问题要提醒一下, oracle的密码是大小写字母+数字,数字不能放在密码的开头 ,尽量按照密码的规范来设置,否则后面的安装可能出错
二、确认安装是否成功
Linux下Oracle在安装结束后就是处于运行状态。输入:
- top –u oracle
在图形化界面下,运行
- $ORACLE_HOME/sqldeveloper/sqldeveloper.sh
现在连接刚安装的Oracle,看看是否能连接成功。
另外也可以通过https://localhost:1158/em/来访问控制台。
三、手动启动oracle服务
reboot重启服务器后,Oracle默认情况下没有在系统中注册成服务,随系统启动而启动的,这时需要手动输入命令来启动。
启动方式:
以oracle用户登录运行以下语句:
1,进入sqlplus:
- sqlplus /nolog
- SQL> conn /as sysdba
- SQL> startup
- SQL> exit
- $ lsnrctl start
- $ emctl start dbconsole
四、配置Oracle的开机自启动
为了每次开机的时候能自动启动Oracle,可以将Oracle配置为Linux的服务。操作如下:
1、以root用户建立一个脚本文件
- /etc/rc.d/init.d/oracle11g
- #!/bin/bash
- #
- # chkconfig: 35 95 1
- # description: init script to start/stop oracle database 11g, TNS listener, EM
- #
- #
- #
- # match these values to your environment:
- ORACLE_BASE=/home/oradb/oracle
- ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
- ORACLE_SID=orcl
- ORACLE_UNQNAME=oracle
- PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
- LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
- LANG=C
- export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_UNQNAME PATH LD_LIBRARY_PATH LANG
- # see how we are called:
- case $1 in
- start)
- su - oracle<<EOO
- lsnrctl start
- sqlplus /nolog<<EOS
- connect / as sysdba
- startup
- EOS
- emctl start dbconsole
- EOO
- ;;
- stop)
- su - oracle<<EOO
- lsnrctl stop
- sqlplus /nolog<<EOS
- connect / as sysdba
- shutdown immediate
- EOS
- emctl stop dbconsole
- EOO
- ;;
- *)
- echo "Usage: $0 {start|stop}"
- ;;
- esac
2、以root用户执行以下命令,给权限,添加系统启动服务
- chmod 755 /etc/rc.d/init.d/oracle11g
- chkconfig --add oracle11g
- service oracle11g stop
- service oracle11g start
4、修改/etc/oratab这个文件,将最后的N改为Y,如下:
- /home/oradb/oracle/product/11.2.0/db_1:Y
至此,Oracle环境配置完成。