conn  / as sysdba
因为我们已经通过密码验证进入了操作系统这一层,这样的话,oracle就默认为你有了起动和关闭DB的权限.

shutdown -> nomount(instance started) -> mount(control file open) -> open
-----------------------------------
startup nomount
ps -ef | grep oracle
ipcs
show parameter db_name
-----------------------------------

-----------------------------------
alert database mount;
# mount 状态是不能到nomount 状态的
# 只有从mount 状态再到 open 的read only modal.
-----------------------------------

-----------------------------------
alert database open;
-----------------------------------
当上一次关闭不完整, 比如上一次没有将SGA中的一些内存清除, 刚你可以试着用 STARTUP FORCE来启动.

-----------------------------------
#Restricted mode (一般在维护情况下使用, DBA维护也经常采用UNMOUNT状态,但是在UNMOUNT 状态下面的语法是受限的)
STARTUP RESTRICT;
alter sytem enable restricted session;
create user boobooke indentified by bbk;
grent connect, resource to boobooke;
sqlplus boobooke/bbk&oracle9ivm;
#已经存在的session还可以在Restricted mode 下查询,但新的session是没法连进去的。
-----------------------------------

启动TNS
-----------------------------------
ps -ef | grep ORACLE
lsnrctl start
-----------------------------------

#断开已连接的session
-----------------------------------
desc v$session
select saddr,sid,serial#,username from v$session;
alter system kill session '15,6'; (15: sid, 6:serial#)
-----------------------------------

#Read-only modal(只能查询不可以增删改)
-----------------------------------
alter database open read only;
#DBA在这种模式下可以做一些恢复工作.
-----------------------------------



#关闭数据库
close a database -> unmount a database -> shut down an instance
close a database: data file and redo log file have been closed but the control file still open.
unmount a database : still remain memory of SGA.
shutdown abort/immediate/transactional/normal
不要用abort 方式来关闭, 其它三种都是正常关闭的. 平常的话immediate比较常用.

#查看到当前没有commit 的事务
desc v$transaction
select addr, status from v$transation;

Diagnostic files
三种log file:
1. alertSID.log file(记录所有操作 , 主要事件, 有时间截, 放在BACKGROUND_DUMP_DEST中)
-------------------------------------
show parameter dump
cd /j01/admin/wilson/bdump
ls -l
vi alert_wilson.log
文件中存在着DB的参数, 可以copy 构建pfile如果我们在丢失pfile 的情况下
也可以查看上次数据库是否正常用关闭,开启等
-------------------------------------
2. SID_processname_PID.trc (backgroup trace files, 放在BACKGROUND_DUMP_DEST中)
只有当遇到错误的时候才写
3. SID_ora_PID.trc (user trace files, location: USER_DUMP_SIZE, Size defined by MAX_DUMP_FILE_SIZE)
-------------------------------------
# 我们可以指定让它主动记录session level 和 instance leverl 的所有操作
#SESSION level
alter session set sql_trace=true; or dbms_system.SET_SQL_TRACE_IN_SESSION;

#instance level
SQL_TRACE = TRUE
-------------------------------------
一般情况下不推荐在instance level 作trace,只在session level 记录.
alter log 文件只有一个,是日积月累的, 两种 trace log 文件是只有在本session生面周期内存在.


#查看所有用户
-------------------------------------
desc DBA_USERS
select username, account_status from DBA_USERS;
# the hr user expried and locked now
alter user hr set account unlock;
alter user hr identified by hr;
-------------------------------------


posted on 2008-06-30 13:18  Alex.Zhang  阅读(250)  评论(0编辑  收藏  举报