小Q:最近因为工作的变动,接触了好多没接触的东西,一直在学习和熟悉业务,期间最有收获的就属于接触了除MysqL之外的数据库,首先对oracle的安装记录一次。
建议:第一次安装的朋友们,不要顺着我的来,将安装包上传后,直接解压执行./runInstaller,根据报错去处理问题,这样会更深入一层次的了解oracle。
oracle 和 MysqL 区别
1、oracle属于大型数据库,而MysqL属于中小型数据库,oracle市场占有40%,MysqL占20%;
2、oracle非开源,需付费,提供售后,而MysqL开源免费,不过被oracle收购后,不知道未来走势;
3、oracle支持大并发,大访问量,支持完全事务处理,而MysqL在innodb引擎的行级锁后才支持;
4、oracle是由用户决定内容,MysqL是由数据库决定内容;
5、oracle逻辑备份时不锁表,MysqL需锁表,而且一致性不如oracle;
7、oracle安装需3G左右空间,MysqL只需150多M;
8、oracle三方管理工具较多,MysqL很少
安装 oracle 服务
1、检查并安装必要的软件包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-develglibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBCunixODBC-devel
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 sysstatld-linux.so.2 unixODBCunixODBC-devel
yum install libXp libXp.i686 //否则会报java Exception
wgethttp://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
wgetftp://rpmfind.net/linux/opensuse/distribution/13.1/repo/oss/suse/i586/pdksh-5.2.14-948.1.2.i586.rpm 32位的
rpm-ivhpdksh-5.2.14-37.el5_8.1.x86_64.rpm --force --nodeps
2、检查swap是否有16G
grepSwapTotal/proc/meminfo //若小于16G,执行下面
ddif=/dev/zeroof=/data/swapbs=1Gcount=9
mkswap/data/swap&&swapon/data/swap
vim/etc/fstab(add)
/data/swap swap swap defaults 00
mount-a
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle (oracleadmin)
4、配置内核参数
vim/etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 |
kernel.shmall=2097152 //表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改 kernel.shmmax=2147483648 //共享内存段的最大尺寸(字节)。缺省32M,对于oracle来说,该缺省值太低了,通常将其设置为2G kernel.shmmni=4096 //用于设置系统范围内共享内存段的最大数量。该参数的默认值是4096。通常不需要更改 kernel.sem=25032000100128 //表示设置的信号量 net.ipv4.ip_local_port_range=102465000 net.core.rmem_default=4194304 //默认的接收窗口大小 net.core.rmem_max=4194304 //接收窗口的最大大小 net.core.wmem_default=262144 //默认的发送窗口大小 net.core.wmem_max=262144 |
sysctl -p // 使之立即生效
vim/etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
vim/etc/pam.d/login
session required /lib64/security/pam_limits.so session required pam_limits.so |
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 |
vim /home/oracle/.bash_profile
export ORACLE_BASE=/usr/local/oracle #oracle数据库安装目录 export ORACLE_HOME=$ORACLE_BASE/product #oracle数据库路径 export ORACLE_SID=orcl #oracle #启动数据库实例名 export ORACLE_TERM=xterm #xterm窗口模式安装 export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量 export LANG=C #防止安装过程出现乱码 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致, |
mkdir -p /usr/local/oracle/product
chown -R oracle:oinstall /usr/local/oracle/
source /home/oracle/.bash_profile
注:云机器默认无法用ctrl+alt+f7切换至图形界面,而且无gnom桌面,所以为了识别>256color,进行以下操作
yumgroupinstall"XWindowSystem"
##yumgroupinstall"GNOMEDesktop" //我试了下,注释部分不安装也可,你也可以试试
yuminstall xdpyinfoxorg-x11-server-utils-7.7-14.el7 #tigervnc-server //不适用vnc可以不安装服务
##(root)vncserver &&密码=vncserveradmin && exportDISPLAY=localhost:1
##xhost+ //让所有IP可以介入
su - oracle
env | grep ORA //检查环境变量是否设置生效
10、下载oracle,并安装
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
解压这俩安装包,会出来个database目录,进入该目录
执行:./runInstaller
11、若以xhell运行时,系统并配有xmanege程序,通过配置如下x11转发(两个11步,选一即可)
系统会自动识别并弹出图形安装界面,进行一系列安装(不过最保险的是通过xmanager中的xbrowser启动用户终端,这样只需要安装好x11),如下 方式二vnc 服务安装。
11、vnc的优势流畅比xmanege快好多倍,以vnc方式安装,我们需要用oracle用户登录终端,并开启vncserver
su - oracle
开启:vncserver :3 [vncserveradmin] //开启以3命名的 X
关闭:vncserver -kill :3
下载vnc viewerhttps://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.0.2-Windows-32bit.exe
新建链接-->ip:会话号--->vnc密码--->登录密码 登陆,进入 database目录,并执行./runInstaller
12、下面的安装方式 xmanege和vnc就一样了,继续下走。
13.去掉勾,懒得填,个人使用环境不需要自动接收Oracle的安全更新。
14.下一步,只安装数据库软件,个人用不要那些玩意~~
15.选择单例安装,前面的所有配置均为单例安装。
16、添加语言
17、默认安装版本企业版-Enterprise Edition
18、确定数据软件的安装路径,自动读取前面/home/oracle/.bash_profile中配置的值。
不知道作用是啥,就默认了,有时vnc报错弹框特小,根本不知道报错是什么,所以我用的还是xmanege,虽然很慢,但报错信息全。如下
19、理论上要创建Database Operation(OSOPER)Group:oper,个人用,懒得建,就使用dba用户组
20、安装检查,按照提示信息一个一个解决。有些系统报错是因为现有的包的版本比检测要高,最后忽略即可。(点击Check_Again 多检查几次)
21、准备完毕,fuck “Finish”开始安装。
千万不要以为这样就完成了,好多网上教程到这就完成了,安装过程的错也解决了,但是进入sysdba启动数据库就会
就这样耽误了我好几天的时间,一直重装,去解决那不必要的错误,类似sem设置了oracle没有识别到这种错。。。
oracle不像MysqL服务安装好后,直接可以登录,他需要单独配置数据库,让sysdba有库可登入。
另外为了让客户端可以登入,我们还要设置一下监听服务端口1521,一般安装后默认就开启了。
配置监听服务 和 数据库
1、执行netmgr (配置你创建的监听服务配置,监听你创建的数据库实例)
命令netca (主要用来配置监听和配置NET服务名,以便远程连接数据库。)
执行 dbca (创建数据库、配置现有库选项、删除数据库、管理模板=configretion assistant)
2、设置现有的sid,默认是前面写的,当然可以自己定义,只不过自定义之后还得手动改env
3、可以为每一个设一个密码,也可以让他们共用一个密码,之后sys和system可以改的
4、数据库文件安装的位置,,最好是 $ORACLE_BASE 下
5、选择备份快速恢复的目录
6、chownoracle.oinstall/etc/oratab //再点击ok
7、测试
sqlplus / as sysdba
sql>createtablez_test(idnumber,namevarchar(20));
sql> insertintoz_testselect1,'a'fromdual;
sql> select*fromz_test;
附加测试:
lsnrctl stop //停止监听器
lsnrctl start //启动监听器
sqlplus /nolog //无密码登陆
sql> connect / as sysdba; //选择oracle数据库
sql> shutdown immediate //立即停止数据库实例
sql> startup //启动数据库实例
==========================================================================
原文链接:https://www.f2er.com/oracle/209798.html