简介
之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,最近几天因为离职,交接的时候又要安装oracle,发现老遇到错误,导致装不上了,通过这次我好好的研究了下oracle,非要搞清楚它,现在记录下来,希望能给其他网上朋友遇到问题时提供点帮助,该篇文件借鉴大量网友的总结,首先谢谢他们!
安装环境
Linux 服务器: | SuSe11-linux 64/32位 |
Oracle服务器: | Oracle11gR2 64/32位 |
系统要求
内存: | 必须高于1G的物理内存 |
交换空间: | 一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小 |
硬盘 : | 5G以上 |
系统配置
一、在root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件,输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
编辑完成后按Esc键,输入“:wq”存盘退出.(不配置好的话安装时就会提示什么空间不足,达不到xxx…要求无法安装)
2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件
session required /lib/security/pam_limits.so |
编辑完成后按Esc键,输入“:wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件
kernel.shmall = 268435456 fs.file-max=6815744 fs.aio-max-nr=1048576 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=1048586 |
编辑完成后按Esc键,输入“:wq”存盘退出
4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p
5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi |
编辑完成后按Esc键,输入“:wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者
创建用户,输入命令: groupadd oinstall (创建用户和组) 创建Oracle用户和密码,输入命令:(赋予权限) useradd -d /home/oracle -g oinstall -G dba -m oracle passwd oracle 然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认 |
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令: mkdir -p /u01/app/oracle mkdir -p /opt/oracle |
8)更改目录属主为Oracle用户所有,输入命令:
chown –R oracle:oinstall /u01/app chown -R oracle:oinstall /opt/oracle chmod 755 -R /u01/app chmod 755 -R /opt/oracle |
二、在oracle用户下执行以下步骤:
9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下
输入:su–oracle ,然后直接在输入 :vi /home/oracle/.bash_profile ,按i编辑 .bash_profile,进入编辑模式,增加以下内容:
umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.0.1/db_1 export ORACLE_SID=orcl PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Opatch:$ORACLE_HOME/jdk/bin:$PATH export PATH export LC_ALL="en_us" export LANG="en_us" export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" |
编辑完成后按Esc键,输入“:wq”存盘退出
安装oracle系统
1、当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,推荐用Xmanager 或其他ftp工具拷贝,
把oracle安装包linux_11gR2_database.zip用oracle用户传至/opt/oracle下
(下面两步骤需要在root用户下执行) 解压 unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip 赋于刚解压出来的文件夹权限 chmod 777 -R /opt/oracle/database/ |
2、安装前检测依赖包(如需下载:http://download.csdn.net/detail/alsw555/8033873,还有个免费网站可以下载:http://rpm.pbone.net(如果不想一个个搜索,就到我csdn上下载吧))
1、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 2、rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21 3、rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat 以上检测是肯定会提示哪些rpm没有安装,如果没检测也不要紧,后面oracle安装的时候还是检测不通过的,那时你在安装也不迟。 |
3、在oracle用户上执行安装oracle数据库软件
输入命令: cd /opt/oracle/database ./runInstaller |
4、解决乱码(字符集不一样,此时安装可能会出现乱码,解决如下:)
export LANG=en_US
5、安装过程(列出需要注意的截图,其他默认都是下一步即可)
6、经过漫长的等待后,安装完成:
安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,
注意:切换到root用户,在命令符下执行 /u01/app/oraInventory/orainstRoot.sh 然后再给出oracle_home路径 |
建立oracle数据库
1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库,如果没有启动注意.bash_profile环境变量和屏幕显示问题(xclock、xhost +)
注:这里选第一和第二都行,看您需求 输入统一密码(也可以分别设置其密码) 数据库存放位置默认就好,你也可以自己设置 不指定快速恢复和归档 去掉不常用的模块 内存分配及指定字符集 注意:字符集选的不对,后面导数据或者其他地方都会出现很多问题,这个字符集跟你们项目需求设定统一 安装完毕 |
建立配置监听
1) 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面
启动数据库
1、默认数据库建立后就启动了,如果服务器重新启动,那就要手工去启动它了,命令如下:
export ORACLE_SID=orcl(选择自己需要启动的数据库SID) echo $ORACLE_SID (显示实例名) sqlplus /nolog connect sys as sysdba (输入您的密码) startup(数据库启动) |
2、启动监听
首先退出上面启动数据库的sql执行,用quit或者exit退到普通命令行上 启动监听:lsnrctl start(如果监听名称不是默认这个,则启动您对应的监听名称) |
建立表空间
1、建立临时表空间,创建用户前必须要先创建临时表空间和数据库表空间两个表空间,否则用系统默认的表空间不好
create temporary tablespace ha_temp tempfile‘/u01/app/oralce/oradata/orcl/ha_temp.dbf‘ size 1024m autoextend on next 100m maxsize 10240m extent management local; |
说明:
1)zd_temp 临时表空间名字 2)/u01/app/oralce/oradata/orcl/ 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf (数据文件) 3)1024m 表空间的初始大小 4)100m 表空间的自动增长大小 5)10240m 表空间最大的大小 |
2、创建数据表空间
create tablespace ha logging datafile‘/u01/app/oralce/oradata/orcl/ha.dbf‘ size 1024m autoextend on next 100m maxsize 10240m extent management local; |
3、创建用户并指定表空间
create user ha1 identified by zd315 default tablespace abc temporary tablespace ha; |
4、给用户授予权限
create user ha1 identified by zd315 default tablespace ha; |
linux下imp导入oracle数据库dmp文件
输入命令: imp ha1/zd315@orcl file=/opt/oracle/hadrp.dmp ignore=y full=y |
说明:ha1:用户名;
zd315:密码;
orcl:数据库实例名;
file后面是dmp文件放置的路径。
window下连接
1、Instant Client 11g 客户端安装和配置
2、pl/sql工具即可连接了