这里以在AS5U2上安装oracle10R2(64位)为例
1 配置Oracle 10g安装环境
说明:Oracle10g版本统一使用Oracle10gR2,只需执行一个安装脚本文件即可完成Oracle 10g安装环境的配置,安装脚本主要完成补丁包安装、创建oracle用户和目录,配置内核参数、配置oracle用户环境变量等。
1)使用root用户登录系统,将安装脚本oracle10g_forAS5_64_install.tar.gz(如果是32位版本则使用oracle10g_forAS5_32_install.tar.gz)上传到/tmp目录或其它临时目录。
2)使用root用户执行以下步骤完成安装:
tar zxvf Oracle10g_forAS5_64_install.tar.gz
cd Oracle10g_forAS5_64_install/oracle10g_install
执行sh oracle10g_for_AS5.sh
3)安装脚本执行完毕,即完成Oracle 10g环境变量配置。
4)修改文件vi /etc/redhat-release
将Red Hat Enterprise Linux Server release 5修改为Red Hat Enterprise Linux Server release 4,数据库安装完成后切记将版本号恢复回来。
因为oracle官方目前只支持到AS4,所以需要修改版本说明才能继续安装。
5)修改/etc/hosts文件,把127.0.0.1修改为网卡设置的(真实)ip地址,然后把多余的主机名去掉,只保留一个真实的主机名。
6)vi /etc/selinux/config 确保以下内容
SELINUX=disabled
如果在安装AS5过程中已关闭SELlinux,则不用改动。
2 开始安装Oracle 10g
注意:以下安装需要使用图形界面,所以整个过程都需要在本机(本地)执行,或者使用VNC远程桌面进行,不能通过只支持字符的远程工具操作。
1)上传10201_database_linux_x86_64.cpio安装包到/tmp目录或其他临时目录,gunzip 10201_database_linux_x86_64.cpio.gz
cpio -idmv< 10201_database_linux_x86_64.cpio 对该包进行解压。
2)使用root用户登录系统,执行以下命令:
xhost +
3)使用oracle用户登录来运行安装程序,执行以下步骤:
export LANG=en_US
cd ./database 执行 ./runInstaller
3 Oracle 10g窗口安装具体过程
1)执行安装命令后,如果正常会弹出以下安装界面,系统默认是基本安装,改为高级安装后点击next。
2)这里的参数根据环境变量已填好,直接点击next。
3)安装类型这里使用默认,安装语言添加简体中文和繁体中文,然后点击next
4)保持默认,直接点next。
5)先决条件检查,如果出现报警,根据之前步骤核对。如下图两个报警,一个是因为swap分区设置过小所致,另一个网络报警通过修改/etc/hosts文件后解决。
7)这里使用默认,直接点next。
8)选择安装模式,保持默认的普通安装,点next。
9)这里有一个地方可以设置oracle字符集,要将字符集设置为Simplified Chinese ZHS16GBK,完成后点next。
10) 接下来的几步都不需要改动,使用默认直接点next。数据库密码可以根据实际环境和用户需求设置。最后点击install开始安装。
11) 开始安装,需要时间较长,请耐心等待。数据库安装过程会提示执行orainstRoot.sh 和root.sh两个脚本文件,按照提示信息进行操作即可,注意要使用root用户执行。
4 配置数据库自动启动或关闭
说明:只需执行一个安装脚本文件即可完成Oracle 10g开机自动启动和关机自动关闭配置。
1)使用root用户登录系统,在刚才上传并解压后的oracle10g_forAS5_64_install目录中,有一个 oracle10g_autorun目录,进入此目录。
2)使用root用户执行以下步骤完成安装:
sh oracle10g.sh
3)安装脚本执行完毕,即完成Oracle 10g自动启动或关闭。
可以重启机器,验证Oracle 10g是否自动启动。
重启机器后,执行 pstree |grep oracle 可以查看oracle进程是否启动。
5查看Oracle是否启动
在oracle用户下可以用ps -ef|grep ora查看,是否有oracle的进程,如果有,大多数情况说明启动了,为了更进一步验证,可以登录一下,或查看alert日志
如果没启动,就可以在oracle用户下执行以下命令
单机有两种:1和2
1、sqlplus sys/passwd as sysdba,
startup
2、sqlplus /nolog
conn / as sysdba
startup
查看监听的方法
lsnrctl status
启动监听
lsnrctl start
关闭监听
Lsnrctl stop
启动Oracle
命令sqlplus进入,输入用户名和密码。然后启动startup。
6oracle 环境变量设置(如果sqlplus命令无效需要配置环境变量)
oracle管理自己的软件时,大量使用了操作系统环境变量.环境变量是分配给操作系统中某一名称的值.软件可以使用名称来调用变量的值.如果环境变量设置不正确可能找不到oracle命令如“sqlplus”,可能oracle找不到数据库因为$ORACLE_SID可能有问题。
oracle软件使用了许多环境变量,非常重要的三个是 ORACLE_HOME,ORACLE_BASE和ORACLE_SID.ORACLE_HOME指定了你希望运行的oracle执行程序的位置.一台计算机上可能安装了若干个版本的oracle软件,大多数oracle程序查询ORACLE_HOME来决定运行何种版本的软件.ORACLE_BASE定义了数据库管理文件安装的基本目录.ORACLE_SID定义了你希望在其上工作的本地oracle数据库名称.
1、su oracle并回车切换到oracle用户;
2、cd并回车回到oracle用户目录;
3、vi .bash_profile并回车编辑该文件,按I键进入插入状态,在最后加入以下行:
export ORACLE_SID=orcl
export ORACLE_HOME=/home/oracle/oracle/product/10....(...部分根据你的实际路径修改)
export PATH=$PATH:$ORACLE_HOME/bin
输入完毕后按ESC键退出vi编辑状态,输入:wq并回车存盘退出。
4、注销所有oracle用户,再使用oracle登录即可。
以下资料简单介绍linux下如何查看oracle的环境变量
example :
[oracle@q1test01 ~]$ env |grep -e ORA -e TNS -e LD
OLDPWD=/home/oracle
ORACLE_SID=orcl
ORACLE_HOME=/home/oracle/product/10.2.0/db_2
PATH=$PATH:$ORACLE_HOME/bin
1.1 7ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
近日在配置Oracle 10G的流复制环境时,遇到一个问题,关闭数据库(shutdown immediate)后,通过SQL Plus连接数据库:conn sys/his@orc0 as sysdba,出现如下错误:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
通过重启服务的方式启动数据库,再次连接却能成功登录,也就是说在关闭数据库状态下无法连接服务器。
开始以为是系统环境变量Oracle_SID的配置问题,因为机器有多个实例,一阵折腾后还是不能连接。后来查资料得知:
Oracle9i以后,后台进程PMON自动在监听器中注册在系统参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名,所以使用sqlplus sys/his@orc0 as sysdba 会出现ORA-12514错误。
如果在listener.ora文件中指定监听的实例名,则即使数据库处于关闭状态,仍然可以连接。
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = G:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = G:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = zyk)(PORT = 1521))
)
)
以上粗体部件为增加的内容,修改后重启监听服务后即可。
附:通过在lsnrctl中输入set display verbose,然后再通过命令service查看,服务状态为READY表示PMON自动注册的服务名,而UNKNOWN则表示该服务是手工在LISTENER.ORA中配置的数据库服务。
8插入中文报错问题。解决:
更换ojdbc.jar包;(如:将ojdbc14.jar换成ojdbc5.jar)
附录: VNC使用方法
1)确保linux服务器上5900~5910端口是开启的。
2)使用root用户登陆,执行vncserver命令启动vnc服务,第一次启动需要设置登陆密码,根据提示设置即可。
3)第一次启动vncserver需要修改/root/.vnc/xstartup文件为:
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
其他内容可删除或注释掉。如果不执行此步骤,会无法打开图形界面。
4)再次执行vncserver命令,看到如下提示,则vnc服务启动成功。第一行末尾的2是用vnc客户端来连接时所用到的端口号。
New 'shenpi1:2 (root)' desktop is shenpi1:2
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/shenpi1:2.log
5)在windows上安装vnc客户端工具:TightVNC Viewer
6)启动TightVNC Viewer,弹出登陆界面,输入ip地址及端口号。
7)输入密码,就是在linux服务器上第一次启动vncserver时所设置的密码。
8)登陆成功。