小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;
6、oracle需要手动提交执行,mysql默认自动提交;
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-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-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 sysstat ld-linux.so.2 unixODBC unixODBC-devel
yum install libXp libXp.i686 //否则会报java Exception
wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
wget ftp://rpmfind.net/linux/opensuse/distribution/13.1/repo/oss/suse/i586/pdksh-5.2.14-948.1.2.i586.rpm 32位的
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm --force --nodeps
2、检查swap是否有16G
grep SwapTotal /proc/meminfo //若小于16G,执行下面
dd if=/dev/zero of=/data/swap bs=1G count=9
mkswap /data/swap && swapon /data/swap
vim /etc/fstab (add)
/data/swap swap swap defaults 0 0
mount -a
3、添加用户和组
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 = 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、修改用户限制
vim /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
6、修改用户验证选项
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so session required pam_limits.so |
7、修改用户配置文件
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 |
8、修改用户
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,进行以下操作
yum groupinstall "X Window System"
##yum groupinstall "GNOME Desktop" //我试了下,注释部分不安装也可,你也可以试试
yum install xdpyinfo xorg-x11-server-utils-7.7-14.el7 #tigervnc-server //不适用vnc可以不安装服务
##(root)vncserver && 密码=vncserveradmin && export DISPLAY=localhost:1
##xhost + //让所有IP可以介入
9、oracle用户登录,并测试环境变量是否成功
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 viewer https://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、chown oracle.oinstall /etc/oratab //再点击ok
7、测试
sqlplus / as sysdba
SQL> create table z_test(id number,name varchar(20));
SQL> insert into z_test select 1,'a' from dual;
SQL> select * from z_test;
附加测试:
lsnrctl stop //停止监听器
lsnrctl start //启动监听器
sqlplus /nolog //无密码登陆
SQL> connect / as sysdba; //选择oracle数据库
SQL> shutdown immediate //立即停止数据库实例
SQL> startup //启动数据库实例
==========================================================================
转载于:https://blog.51cto.com/tengxiansheng/1912649