四、测试Oracle 10g 数据库:
1. 启动Oracle10g 数据库sqlplus
$ sqlplus "scott/tiger as sysdba"
将出现如下连接数据库信息:
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3月 24 16:23:27 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
表明登录数据库系统成功,运行startup命令启动数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size 268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>
表示数据库正常启动。
2. 关闭Oracle10g 数据库
$ sqlplus "scott/tiger as sysdba" //以sysdba用户登录数据库
成功登录数据库系统后,运行shudown命令关闭数据库。
SQL> shutdown
3. 启动Oracle10g监听程序
Oracle的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:
$ lsnrctl
将出现如下监听程序信息:
LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3月 -2004 16
:59:51
Copyright (c) 1991, 2004, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL>
表明登录监听程序控制台成功,运行start命令启动监听程序。
LSNRCTL> start
将出现监听程序的一系列启动和配置情况信息列表。
信息行的最后一行是“The command completed successfully”字样时,监听程序启动成功。
4. 关闭Oracle10g监听程序
运行stop命令关闭监听程序。
LSNRCTL> stop
注意问题:
如果输入LSNRCTL执行后,出现:SP2-0042: unknown command "lsnrctl" - rest of line ignored. |
问题原因:lsnrctl 命令是在oracle用户终端执行的,如:[oracle@localhost~]$ lsnrctl 问题解决: 执行: SQL>exit [oracle@localhost~]$ lsnrctl |
关于第一次安装完oracle出现的问题解决方法如下:
(1)bash :sqlplus command not found
解决方法:
cp /opt/app/oracle/product/10.2.0/db_1/bin/sqlplus /bin 拷贝后,终端中运行sqlplus,成功。 注意:拷贝后,最好把执行权限给所有的用户,不然新建用户不能使用。 chmod 777 /bin/sqlplus |
其他的问题参考:http://dev.tot.name/db/html/20110318/20110318170942.htm
(2)提示没有设置ORACLE_HOME环境变量问题
修改环境变量(正确方法)
命令行输入:vi /etc/profile
加入:
ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1
参考来源:http://www.linuxeden.com/html/sysadmin/20080424/56879.html
(3)错误: ORA-12162: TNS:net service name is incorrectly specified
见:http://space.itpub.net/519536/viewspace-672034
(4)错误: bash: lsnrctl: command not found
这个问题一般是没有设置环境变量PATH,先用命令:
echo $PATH
如果返回值为空,说明没有设置环境变量PATH。
输入如下命令设置环境PATH为 $ORACLE_HOME/bin:
然后输入:
lsnrctl
返回:
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 23-OCT-2011 21:04:10
Copyright (c) 1991, 2005, Oracle.
Welcome to LSNRCTL, type "help" for information.
问题解决,呵呵!
(5)su: cannot set groups: Operation not permitted
这个错误是因为/bin/su文件被取消了s位.
解决方法: 注销登录到 root 用户,输入如下命令并执行。
chmod a+s /bin/su
(6)You may need to set ORACLE_HOME to your Oracle software directory 错误解决方法
这个问题基本上都是.bash_profile中oracle环境变量设置的问题。
第一,用oracle用户名登录linux系统。而不是root登录后su oracle。
第二,用oracle用户名登录linux系统后,vi .bash_profile,其中,
文件.bash_profile在/home/oracle目录下,它是隐藏文件,可以ls -a 显示所有文件(包含隐藏文件)。
第三,编辑.bash_profile文件.
内容如下(不完全和这个一样,关键是确认Path 和oracle_home环境变量配置正确):
———————————————————————————————————
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
fi
# User specific environment and startup programs
PATH=$PATH:$ORACLE_HOME/bin
unset USERNAME
export ORACLE_SID=orcl
export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1
export PATH
————————————————————————————————------
保存完后,重启linux 用oracle用户登录。
(7)startup报错:"ORA-01081:cannot start already-running ORALCE - shut it down first"
解决方法:
sqlplus / as sysdba
sqlplus>shutdown abort;
sqlplus>startup;