SUSELinux11上安装Oracle11g红豆整合.docx
《SUSELinux11上安装Oracle11g红豆整合.docx》由会员分享,可在线阅读,更多相关《SUSELinux11上安装Oracle11g红豆整合.docx(28页珍藏版)》请在冰豆网上搜索。
SUSELinux11上安装Oracle11g红豆整合
Oracle_11g安装在SUSE_LINUX_11上
写在前面
本文原始版本并不是我首创,我也是在实际使用过程中,在网上查找了诸多教程与资料后选择了其中一个比较靠谱的文档,验证了其正确性,并对其内容进行了一些优化。
感谢那些致力于开源服务的同志们。
一、oracle安装环境的检查
1、设置SUSE使之能联网
以下是静态IP设置的方法,仅供参考。
动态设置即是DHCP。
1、双击“YAST2控制中心-网络设备-网络设置”,打开“网络设置”对话框。
2、在“全局选项”页面中选择“请求广播响应”。
3、在“概述”页面中点击“编辑”按钮,打开“网卡设置”对话框“地址”页面。
选择“静态指派IP地址”,IP地址设为“192.168.4.46”,子网掩码设为“/24”。
4、在“主机名/DNS”页面中选择“指派主机名给回写IP”。
名称服务器1设为“101.226.4.6”,名称服务器2设为“192.168.4.1”。
5、在“路由选择”页面中将默认网关设为“192.168.4.1”。
2、检查包命令介绍
rpm-qa|grep*例:
rpm–qa|grepbinutils检测的时候并不需要带各个包后面的版本号
所需的包如下(所安装的包的版本一定要大于等于下面列的版本)
binutils-2.16.91.0.5
compat-libstdc++-5.0.7-22.2
gcc-4.1.0
gcc-c++-4.1.0
glibc-2.4-31.2
glibc-32bit-2.4-31.2(32bit)
glibc-devel-2.4
glibc-devel-32bit-2.4(32bit)
libaio-0.3.104
libaio-32bit-0.3.104(32bit)
libaio-devel-0.3.104
libelf-0.8.5
libgcc-4.1.0
libstdc++-4.1.0
libstdc++-devel-4.1.0
make-3.80
sysstat-6.0.2
unixODBC-2.2.11
CheckingforunixODBC-devel-2.2.11
注:
其实:
还有一种更简单的检查方法,即在oracle安装过程中会有一项是检测安装环境,到时候缺少什么包,便安装什么包即可(后面安装数据库界面会说明)
3、安装包命令介绍
若缺少相关的包,可以suse的安装盘中进行相关包的安装
rpm–ivh*例:
rpm–ivhbinutils-2.16.91.0.5
经验介绍:
其实,在我们正常安装完成suselinux11系统后,安装oracle的时候只需两种rpm包即可,分别为
libstdc++43-devel-32bit-4.3.4_20091019-0.7.35.x86_64.rpm
sysstat-8.1.5-7.9.56.x86_64.rpm
二、创建oracle用户及组
创建oracle安装组oinstall和数据库管理组dba:
命令如下:
groupadddba
groupaddoinstall
创建oracle用户,用oracle用户来安装数据库,用户默认的目录是/opt/oracle
useradd-goinstall-Gdba-m-d/opt/oracleoracle
设置oracle用户密码
passwdoracle
三、oracle相关环境配置
1、修改/etc/sysctl.conf,加入以下内容:
打开文件:
vi/etc/sysctl.conf在文件中最后加上以下内容
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=536870912
kernel.shmmni=4096
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
保存,并退出;
执行命令/sbin/sysctl–p
使设置生效,注意此项内容非常重要,不设置安装oracle会出现很多错误。
保存并退出操作如下:
按键盘左上方的esc键,输入冒号“:
”再输入wq,在回车;
wq解释:
w表示保存,q表示推出,若不保存退出,输入q!
在回车
注:
以下环境更改操作基本与此处类似,不在进行赘述;
2、修改/etc/security/limits.conf,加入以下内容
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
3、修改/etc/pam.d/login,加入以下内容
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
4、修改/etc/profile,加入内容
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
注意中括号前后要有空格
5、oracle用户环境变量配置
切换oracle用户:
su–oracle(中间的“-”符号不能缺失,“-”表示用户的环境变量也随之切换)
修改/opt/oracle/.profile文件,加入如下内容:
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.0
ORACLE_SID=ORCL
PATH=$ORACLE_HOME/bin:
$PATH
exportORACLE_BASEORACLE_HOMEORACLE_SIDPATH
注:
此处的ORACLE_HOME配置需要根据oracle安装完成后的具体路径
四、上传ORACLE文件
1、oracle文件上传及更改所属
此处切换回root用户,su-root
将压缩包上传至linux中解压:
unzip*.zip
文件中有两个压缩包,解压两次放在同一个database中
unziplinux.x64_11gR2_database_1of2.zip
unziplinux.x64_11gR2_database_2of2.zip
解压之后,将database文件拷贝到oracle目录下,方便后面在oracle用户下直接对其操作;
将其的所有者改为oracle
chown-Roracle:
oinstalldatabase
五、安装oracle数据库
1、安装oracle数据库
切换到oracle用户:
su-oracle
进入database文件夹中,cd/opt/oracle/database(具体看上传的路径)
进行安装,输入./runInstaller.sh弹出安装界面
遇到的问题:
a、出现DISPLAY之类的错误,
A)将系统注销,切换oracle用户登录(并不是su-oracle)
进入database文件夹中,cd/opt/oracle/database(具体看上传的路径)
进行安装,输入./runInstaller.sh弹出安装界面
B)更换一台纯屏的显示器(一般不需要B方案)
重启后,先切换到root用户,执行xhost+
然后再切换到oracle用户,执行exportDISPLAY=:
0.0
然后再进行安装
b、若打开oracle安装界面出现乱码,在安装之前输入:
exportLC_CTYPE=en_US.UTF-8后在安装
2、oracle界面安装步骤
注:
一般不用勾选,直接下一步,
注:
此处选择服务类型的
注:
此处我们进行高级安装,因为后面需要对字符集进行设置
注:
此处的配置会涉及到后期使用PL/SQL时,oracle的tnsnames.ora配置问题,配置中的SERVICE_NAME与此处设置有关
如:
ORCL_192.168.77.69=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.77.69)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
)
)
注:
此处是oracle字符集的设置,现在都统一使用ZHS16GBK的字符集
(此步骤在实际安装中可能不存在)
注:
此处可以简单点,方便记忆,选择下面的选项,将所有的用户都配置成同一个密码
注:
会提示密码不符合标准,没有关系,点击Yes,继续安装
注:
此处就是前面说的,检测数据环境的问题,如果缺少上面,这里给出提示,然后给出提示进行相应的更改即可;
注:
点击finish,开始进行安装,一般情况下刚开始安装几秒钟后,会提示一个警告,没有关系,点击确定继续安装;(整个过程只有刚开始的一个警告)
安装完成后,出现以下界面,需要执行两个命令
按照上面的提示,打开终端,以root用户登录,运行以下两个sh文件
过程中出现中间步骤,直接回车即可
/opt/oracle/oraInvertory/orainstRoot.sh
/opt/oracle/product/11gR1/db/root.sh
完成结束后,数据库的服务,以及监听都是启动的
至此,数据库的安装已经结束
六、开启数据库的相关命令介绍
1.开启oracle服务
切换oracle用户:
su–oracle
连接sql:
sqlplus/nolog
连接dba:
conn/assysdba
启动:
startup
关闭:
shutdownimmediate
2.开启监听
Oracle用户下,开启监听:
lsnrctlstart
关闭监听:
lsnrctlstop
查看监听状态:
lsnrctlstatus
注:
启动数据库问题
第一安装完数据库后重启服务器后,开启oracle服务可能存在的问题
开启oracle服务,startup后,出错如下:
ORA-01078:
failureinprocessingsystemparameters
LRM-00109:
couldnotopenparameterfile'/opr/oracle/product/11.1.0/dbs/initORCL.ora'
解决方法:
复制/opt/oracle/admin/orcl/pfile下的init.ora.731201291548到/opt/oracle/product/11.1.0/dbs下,并更改成需要的名称initORCL.ora
命令如下:
cp/opt/oracle/admin/orcl/pfile/init.ora.731201291548/opt/oracle/product/11.1.0/dbs/initORCL.ora
七、辅助工具介绍
此处介绍一个比较好用的linux工具——XmanagerEnterprise4
此工具的主要优势有:
支持图形化(当vnc连接无图形界面时)
支持文件直接的windows与linux之间的相互传输
1.安装
安装十分简单,直接下一步,安装的密钥,文件中有
2.使用
打开文件夹
注:
服务器名称以及IP输入
注:
此处可更改此工具的字符集
注:
此按钮可实现linux与windows文件的传输
注:
直接拖拽即可:
传输到linux中存在一个权限问题,即:
用什么用户登录的,此时就是此用户下的权限
界面化使用,例如打开oracle数据库的监听程序
输入:
netca,弹出设置监听的界面
若界面乱码,先输入:
exportLANG=en在输入netca
Oracle创建命名空间和新用户
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。
为了避免麻烦,可以用’DatabaseConfigurationAssistant’向导来创建数据库(这步一定要创建好,因为这里没有做好,会在创建表空间时出错—我就在这里花了几个小时,晕)。
创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。
下面是创建数据库用户的具体过程:
1.假如现在已经建好名为’test’的数据库,此时在d:
\oracle\oradata\目录下已经存在test目录(注意:
我的Oracle11g安装在d:
\oracle下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*\oradata\目录下)。
2.在创建用户之前,先要创建表空间:
其格式为:
格式:
createtablespace表间名datafile‘数据文件名’size表空间大小;
如:
SQL>createtablespacetest_tablespacedatafile‘d:
\oracle\oradata\test\test.dbf’size100M;
其中’test_tablespace’是你自定义的表空间名称,可以任意取名;
‘d:
\oracle\oradata\test\test.dbf’是数据文件的存放位置,’test.dbf’文件名也是任意取;
‘size100M’是指定该数据文件的大小,也就是表空间的大小。
删除命名空间
DROPTABLESPACEtestINCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS;
3.现在建好了名为’test_tablespace’的表空间,下面就可以创建用户了:
其格式为:
格式:
createuser用户名identifiedby密码defaulttablespace表空间表;
如:
SQL>createusertestoneidentifiedbytestonedefaulttablespacetest_tablespace;
默认表空间’defaulttablespace’使用上面创建的表空间。
4.接着授权给新建的用户:
SQL>grantconnect,resourcetotestone;–表示把connect,resource权限授予testone用户
SQL>grantdbatotestone;–表示把dba权限授予给testone用户 授权成功。
ok!
数据库用户创建完成,现在你就可以使用该用户创建数据表了!