oracle各种服务启动与停止,以及常见问题解决...
时间:2010-08-18 来源:aptweasel
1,启动数据库
第一种,以sys用户连接
c:\>sqlplus sys/change_on_install as sysdba;
进入sql*plus环境;(注意,ORACLE9I在安装的时候需要你自己设定sys和system的口令,并且不能才用ORACLE9I以前这两个用户的默认口令,这主要是为了保证数据库系统的安全,我为了好记忆,在安装完成后立刻恢复了默认的口令)
第二种: 匿名连接
C:\>sqlplus /nolog
SQL> connect /as sysdba
已连接。
注:如果在LINUX/UNIX环境下,数据库可能有多个实例,执行之前需要先明确数据库的SID
执行#export ORACLE_SID=ORCL即可
数据库启动使用startup命令,它有三种情况:
第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
第三种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!
在安装数据库时system和sys的用户密码不能是默认,但是安装完后可以修改,以下修改用户密码的命令
使用sys登陆到oracle
2,关闭数据库
shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在用户执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!
3,重起监听
在LINUX/UNIX有时监听会失效,需要重起监听,否则客户端无法连接
启动监听:lsnrctl start
停止监听:lsnrctl stop
修改监听配置
$ORACLE_HOME/network/admin/listerer.ora
4,重起控制台
因为ORACLE控制台比较消耗资源,一般情况下我们不启动,如果要用的时候可以启
启动服务:emctl start dbconsole
停止服务:emctl stop dbconsole
无法启动oracle控制台,更换ip,或主机名,无法启动oracle控制台等诡异问题:
重配控制台:emca -config dbcontrol db
重建资料库:emca -repos recreate
具体执行过程
1。数据库和listener都必须已经启动并正常工作。
2。设置系统环境变量oracle_hostname (如果你还没有设置的话)
2。emctl stop dbconsole (如果你的db control还在运行的话)
3。sc delete OracleDBConsoleepcit (删除windows service,不删除最后会报错)
4。emca -config dbcontrol db -repos recreate(重新配置控制台资料库)