用root用户进入,用su命令进入到oracle9i用户:
su - oracle9i
然后运行:
sqlplus
user : CONN AS SYSDBA
passwd : 无
startup
exit
然后再运行:
lsnrctl
start
exit
Oracle数据库的几种启动和关闭方式
有以下几种启动方式:
1、startup nomount
  非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
  读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
 
2、startup mount dbname
  安装启动,这种方式启动下可执行:
  数据库日志归档、
  数据库介质恢复、
  使数据文件联机或脱机,
  重新定位数据文件、重做日志文件。
  执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,
  但此时不对数据文件和日志文件进行校验检查。
3、startup open dbname
  先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
  这种方式下可访问数据库中的数据。
4、startup,等于以下三个命令
  startup nomount
  alter database mount
  alter database open
5、startup restrict
  约束方式启动
  这种方式能够启动数据库,但只允许具有一定特权的用户访问
  非特权用户访问时,会出现以下提示:
  ERROR:
  ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
6、startup force
  强制启动方式
  当不能关闭数据库时,可以用startup force来完成数据库的关闭
  先关闭数据库,再执行正常启动数据库命令
7、startup pfile=参数文件名
  带初始化参数文件的启动方式
  先读取参数文件,再按参数文件中的设置启动数据库
  例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora
8、startup EXCLUSIVE
============================================
有三种关闭方式:
1、shutdown normal
  正常方式关闭数据库。
2、shutdown immediate
  立即方式关闭数据库。
  在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
  而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
  当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。
3、shutdown abort
  直接关闭数据库,正在访问数据库的会话会被突然终止,
  如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。
数据库启动与关闭
1、 SQL*NET:是分布式ORACLE数据库的组成部分,负责用户或应用程序和数据库的对话;

2、 trace files 和 logs:trace files文件是在ORACLE启动INSTANCE时自动创建该文件的,该文件存在于由INIT.ORA 或CONFIG.ORA文件中的BACKGROUND_DUMP_DEST参数指定的路径中,对不同的操作系统,trace files有不同的名称,我们都知道,当启动ORACLE时必须先启动监听,也就在这个时候产生了LISTENER.LOG,当ORACLE启动和关闭时,trace files和LISTENER.LOG文件并不删除

现在我们明确了以上两点,应该知道下步我要做什么了:

1、 在关闭数据库之前不要先关SQL*NET

2、 将trace files 和 logs妥善管理,比如删除或改名

3、 关闭数据库shutdown

二、启动数据库
1、 对于被破坏的数据库我们可以先增加一个控制文件,可用这个控制文件覆盖掉原控制文件,我们可以在SQLPLUS的环境下输入:alter database backup controlfile to trace;创建

2、 启动数据库后,我们要把系统和应用程序经常用到的包放到SGA区中,当ORACLE从SGA区读数据时,我们会觉得速度明显加快,我们可以通过如下语句将包放到SGQ区:

alter package APPOWNER.ADD_CLIENT compile;
execute DBMS_SHARED_POOL.KEEP('APPOWNER.ADD_CLIENT','P');

三、其他
同时启动两个监听:在当一台机器同时装了两个数据库时(这样的情况很少见),我们可能要同时启动两个监听,当我们在启动第二个监听时,这是ORACLE可能报TNS-01106的错误,其实引起这个错误的是LISTENER.ORA中IPC协议的KEY不同,我们只要将它修改成一致就可以了。

四、下面推荐一个比较好的停止和启动ORACLE的好方法(包含C/S和B/S结构):

1、 停止所有应用程序;

2、 对于B/S结构(这里的中间件用的是WebLogic)应该停掉服务,C/S结构可以省略这一步;

3、 对trace files 和 logs进行改名处理,建议用时间作为文件名,比如20040801.trc;

4、 将ORACLE的监听停止:$lsnrctl stop;

5、 为了防止我们在下次启动ORACLE时出现以外,建议备份控制文件:SQL>alter database backup controlfile to trace;

6、 为了确保数据已保存到数据库,有必要切换日志文件:SQL>alter system switch logfile;对于B/S结构,我们应该先操作这步,再停掉监听;

7、 关闭数据库:SVRMGRL>shutdown immediate;

8、 启动数据库的监听:$lsnrctl start

9、 启动ORACLE数据库:$svrmgrl ;SVRMGRL>connect internal;SVRMGRL>startup;

10、启动中间件(B/S结构,所用中间件为WebLogic);

11、启动应用程