第一部分 Suse系统的安装
系统安装部分没有什么难度,完全都是图形化界面,只要按提示选择需要的项目,下一步即可,下面就截图说话:(注:我是在Vmware下安装的,设置的配置如下,内存300MB,硬盘12G,网卡桥接,光驱。由于虚拟机性能有限,安装比较慢,后发现,在实际机器上安装,速度要快得多)
安装开始:
1、
2、选择第二项Installation
3、接下来是语言选择,可以选择英语、也可以选择简体中文,建议英语水平一般的选择中文,这样比较好理解中途的一些含义,但是选择中文,后续安装完成后由于Oracle是英文版的,所以要将字库再改成英文
4、这个就不说了,必须选择同意
5、全新安装
6、时区选择
7、安装设置,选择软件,添加一些需要的安装包
8、选择需要的软件包,如果不是很熟悉,尽量将可能使用到的软件包全都选上安装。
9、分区也看一下,有特殊需要的,对相应的分配进行适当的调整
10、选择安装
11、共四张安装盘,下图显示的是各个盘上需要安装包的数量,下面就是漫长的等待……
12、半个小时后,设置主机名,域名,下一步
13、设置root密码
14、硬件检测,这一步是在Suse系统集成的驱动集合里去寻找硬件的驱动,如果个别比较特殊的硬件,如小厂商生产的网卡等,在这一步是不识别的,要等系统安装安成后进行驱动安装。
15、保存网络设置,下一步
16、检测网络,先跳过,系统完成后再设置
17、用户登陆认证方法
18、新的本地用户
19、
20、安装完成
第二部分,安装Oracle 10G
数据库实际安装也是界面化,可以根据提示进行相应的选择。重点是运行安装Oracle程序前的相关准备设置。下面用root登陆:
1、系统要求:
内存:推荐1G
Swap分区:设为内存的2倍
/tmp磁盘空间:400MB以上
磁盘空间:软件3.5G 数据1.2G
2、安装需要的软件包:
安装SuSE一定确保安装“C/C++Compiler and Tools”软件包。
# gcc –version 查看是否安装该软件包(注:运行这个命令后一直没有看明白,但是在Yast里面可以清楚的看到是否安装好)
Yast à软件à系统更新à包
安装orarun和libaio-devel软件包,这两个软件包可以在SuSE Linux DISK4中找到
#rpm –ivh orarun-1.9-21.2.i586.rpm
#rpm –ivh libaio-devel-0.3.104-3.i586.rpm
如图,在光盘4中可以找到Orarun和Libaio的软件包,
通过Teminal,进入到上图光盘的路径下,执行安装命令
3、Oracle用户设置
当orarun软件包安装时,会自动建立名为oracle的用户,和一个oinstall组。我们只需要将该用户设置为enable,把shell从/bin/false改为/binbash.而且orarun软件包将ORACLE_HOME文件夹自动生成。如下图:Yast à安全和用户à用户管理à集合过滤器à选择:系统用户
编辑oracle用户,将禁用用户登陆取消,修改密码
Oracle用户的细节设置,选上oinstall用户组,shell设置为/bin/bash,主目录/opt/oracle,这里要提及,我尝试将目录设置为/oracle,但是没有成功,在安装oracle的时候会报错,原因尚未查明(oracle.sh也已经更改,但是还是报错)
4、设置Oracle环境变量
修改/ect/profile.d/oracle.sh文件,ORACLE_HOME、ORACLE_SID等环境变量可以根据需要自行修改。
ORACLE_BASE=/OPT/ORACLE 注:这个要与oracle主目录设置的相同
ORACLE_HOME=$ORACLE_BASE/product/10gR2 注:安装目录
ORACLE_SID=ORCL 注:这里是创建默认实例,建议在这步就直接将ORCL设置为自己需要的实例名称,这样安装oracle的时候,就直接将实例创建了!
如下图设置:
5、安装Oracle10gR2
补充:由于之前提及oracle是英文版,所以要更改字库,
Yast à系统à语言à选择 英语
注销root用户,以oracle用户重新登录到KDE.注意不要在root用户下使用su – oracle来切换到oracle用户进行安装,那样系统图形界面不能启动。
运行。/runInstaller –ignoresysprereqs 开始安装Oracle,
–ignoresysprereqs忽略对操作系统的认证,Oracle10g默认不能安装在SuSE Linux10上。当然也可以将安装文件拷贝到硬盘,修改database/install/oraparam.ini文件,将其中添加SuSE-10,这样可以不使用–ignoresysprereqs参数。
(注:由于直接光盘安装有报错写权限不够,我是将光盘文件拷贝到/opt/oracle,然后执行安装的)
下面又是图行化界面了:
另开一个窗口,用root权限执行orainstRoot.sh文件,然后返回继续
默认,下一步
如下图显示,会创建allinpay实例,(字库默认即可,通联是这样要求的,具体看实际需求)
中间一路下一步…….,到设置密码页
设置完成,点击开始安装!
以上安装完成。
安装完成后,用Teminal执行lsnrctl start,启动监听
然后执行 sqlplus “/as sysdba”
Sql>startup #开启oracle
Sql>shutdown #关闭oracle
按照客户要求建立用户在oracle用户下
Sql>create user 用户名 identified by 密码
Sql>grant 权限 to 用户名
下面是oracle开启和关闭的完全命令,供参考
1. startup命令,通过不同选项来控制数据的不同启动步骤:
2 STARTUP NOMOUNT,仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表。
3 STARTUP MOUNT,创建实例并且安装数据库,但没有打开数据库。
Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"的提示。
4 STARTUP,该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个"数据库已经打开"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。
5 如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。如果只是用命令startup nomount打开数据库,则用一下两条命令打开DB,若用startup mount打开数据库,则用下面最后一条命令打开DB
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
6 STARTUP RESTRICT,仅仅允许一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护。
7 STARTUP FORCE,该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用
8 ALTER DATABASE OPEN READ ONLY;
该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开。
9. shutdown命令,通过不同选项来控制数据的不同关闭步骤:
10 SHUTDOWN NORMAL,这是数据库关闭命令的确省选项,发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但有时候需要时间很长。
11 SHUTDOWN IMMEDIATE,当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。
12 SHUTDOWN TRANSACTIONAL,该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。
13 SHUTDOWN ABORT,是在没有任何办法关闭数据库的情况下才不得不采用的方式,之后所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间数据库。适用于处于非正常工作状态或者要立即关闭数据库或者启动数据库时遇到问题。
==================================================
在实际安装中遇到以下几个问题,
1、 网卡不识别
由于网卡型号在系统集成的驱动中没有,所以不能自动识别,需要手动安装,首先到网上根据网卡的具体型号下载suse linux下的网卡驱动
(1)Yast àsoftwareàsoftware Managementà搜索kernel source
选择安装
(2)到驱动目录下执行 rpmbuild --rebuild tg3…….src.rpm
(3)进入/usr/src/packages/RPMS/i586下执行 tg3-3.92e-3.i586.rpm
(4)回到Yast àNetwork device就能看到网卡了
2、 SUSE下FTP的安装及启动相关设置
Yast àsoftwareàsoftware Managementà搜索 FTP 安装
1、 修改/etc/vsftpd.conf将里面的
write_enable=yes,
anonymous_enable=yes,
local_login=yes
将前面的注释去掉
2、/etc/inetd.conf将里面关于ftp的两行的注释去掉。
3、将/etc/ftpusers中不能出现将来要登录的帐户名。
4、进入/etc/init.d/执行:./inetd restart 。
5、重启vsftpd服务:service vsftpd restart
下面是网上看到的FTP问题处理方法,感觉很好
===============================================
1 SuSE下安装FTP
Root用户执行yast2->network services->network services
分别将pure-ftp的状态置为off,vsftpd的状态置为on,然后单击按钮,修改完成。
2 启动
大多数较新的系统采用的是xinetd超级服务守护进程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的内容,如下:
disable = no
socket_type = stream
wait = no
如果“/etc/vsftpd.conf”中的有选项为“listen=YES”,注销它
最后,重启xinetd,命令如下:
$ /etc/init.d/xinetd restart
三、遇到的问题
1、只允许匿名用户登录
现象:ftp连接过程中,提示输入用户名,输入本机已有用户名angel,得到提示:530 This FTP server is anonymous only,登录失败。
原因:安装vsftpd后,其默认为匿名FTP服务器,只允许匿名用户登录。
解决方法:vsftpd有三种服务器方式:匿名方式、本地方式和虚拟用户方式,此处需要修改vsftpd的配置将其设为本地方式。vsftpd的配置文件位于/etc/目录下,名称为vsftpd.conf。关于该配置文件在网上已经有很多高手做了详细的分析和讲解,并且该文件内部的注释也比较详细,这里就不再一一讲解了。下面只说明几处需要修改的地方:
将local_enable=YES前的#去掉,使其可用,表示允许本地用户登录;增加listen_port=21配置项,设置监听端口为21;
该步骤可选,不允许匿名用户登录,将anonymous_enable=YES的值改为NO,根据实际需要设置。重启vsftpd服务:service vsftpd restart。启动后,在进行测试,使用本地用户angel及其密码登录,成功。
注意:以上测试是在本机(或使用SSH登录后)进行。
2、其他机器不能连接该服务器
现象:本机测试通过后,在其他机器(Windows或Redhat)上使用ftp 192.168.1.8连接该服务器,得到Connection closed by remote host或Connection timed out提示信息,连接失败。
原因:SuSE的防火墙阻止了外来机器对FTP所用的端口的访问。
解决方法:放开防火墙对FTP所使用的20和21端口的限制,步骤如下:
i> Yast→Security and Users→Firewall;
ii> 在左侧的列表中选择Allowed Services,令人感到以外的是,即使安装FTP服务器,在Servces to Allow列表中也没有FTP服务可供选择,但是SSH、HTTP、HTTPS、Samba等都赫然在列,所以要使用高级设置。点击右下方法的Advanced按钮,打开高级设置对话框;
iii> 在TCP Ports中输入20 21,注意两个端口号之间使用空格分开,OK;
iv> Next→Accept
重新启动,重新测试,连接成功,使用SuSE系统中已有的angel及其密码登录,成功。
telnet的开启
这个基本与FTP一样,
先Yast àsoftwareàsoftware Managementà搜索 TELNET 安装
二、telnet设置
(1). 用vi命令编辑/etc/hosts.deny文件,放开telnet登录权限控制,
# vi /etc/hosts.deny:
在ALL: ALL 行前加“#”号注释,注销该行。
(2). 用vi命令编辑/etc/hosts.allow文件,放开root用户登录权限控制:
添加一行ALL : ALL
(3). 用vi命令编辑/etc/xinetd.d/telnet文件,放开telnet:
用”#”注销disable=yes,或者修改为 disable=no
(4). 命令编辑/etc/pam.d/login文件,放开root用户登录权限控制,
# vi /etc/pam.d/login:
在auth required /lib/security/pam_securetty.so行前加“#”号注释,注销该行。
(5). 启动xinetd服务,
#/etc/init.d/xinetd stop
#/etc/init.d/xinetd start
遇见端口关闭的情况
Suse下打开端口的方法
1.首先查看端口状态,可以使用命令
-># netstat -an (若查看某个端口,后面可接端口号)
2.检查服务状态使用chkconfig,如检查SSH,
-># chkconfig sshd
如为off,则需要打开系统服务的端口,可用chkconfig on命令,如打开SSH,
-># chkconfig ssh on service xinetd restart
3.防火墙开放端口:
(方法一:)
i. 进入 /etc/sysconfig/ 目录,用 vi 命令编辑 SuSEfirewall2 文件,
-># vi SuSEfirewall2
在文件中找到FW_SERVICES_EXT_TCP,在其后面加上服务名或者是服务对应的端口,如SSH,
FW_SERVICES_EXT_TCP=”ssh” 或 FW_SERVICES_EXT_TCP=”22″
保存之后退出。
ii. 重启防火墙,以使配置生效,
-># rcSuEfirewall2 restart