共计 10298 个字符,预计需要花费 26 分钟才能阅读完成。
前沿:最近因为工作的变动,接触了好多没接触的东西,一直在学习和熟悉业务,期间最有收获的就属于接触了除 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 的安全更新。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-04/142470p2.htm
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,一般安装后默认就开启了。
前沿:最近因为工作的变动,接触了好多没接触的东西,一直在学习和熟悉业务,期间最有收获的就属于接触了除 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 的安全更新。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-04/142470p2.htm
配置监听服务 和 数据库
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 // 启动数据库实例
更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142470.htm