Oracle 9i DBA Fundamentals I & II可谓是Oracle官方教材的经典之作,历久弥新。虽然Oracle的最新版本是11g,但是这些教材依然是Oracle入门的最佳教材。
视频教材:
http://www.boobooke.com/bbs/viewthread.php?tid=1857&extra=page%3D1
文本教材:
http://www.boobooke.com/bbs/viewthread.php?tid=1857&extra=page%3D1
11-20总结:(建议大家自己好好看看视频,收获会很多)
第11讲:Chapter 03--Managing an Oracle Instance
4种关闭数据库
shut down normal;(等待当前session的结束,等待当前transaction的结束,强制生成一个checkpoint和关闭文件)
shut down abort;直接关闭。无敌不需要等待
shut down immediate;强制生成一个checkpoint和关闭文件)
shut down transactional;等待当前transaction的结束,强制生成一个checkpoint和关闭文件)
诊断文件
alterSID.log 记录所有操作,一个时间戳time stamp一个事件,只有一个文件
Background traces files SID_processname_PID.trc,
User traces files SID_ora_PID.trc(系统不同,命名也不一定相同)(session level,instance level)记录用户的错误
涉及到的命令
clear src(清屏)
create table bbktbl(id integer,name char(10));
insert into bbktbl values(0,'wison');
select * from bbktbl;
desc v$transaction;
select addr,status from v$transaction;
commit;(插入记录,必须commit,不然transaction事务没法完成)
insert into bbktbl values(1,'chric');
第12讲:Chapter 03--Managing an Oracle Instance
继续谈诊断文件
Background traces files SID_processname_PID.trc, 记录oracle数据库本身的错误
涉及到的命令:
show parameter dump;
cd /u01/admin/wilson/adump/
vi alert_winson.log
:5369(到最后一行)
Ctrl B,往回跳
strings spfilewilson.ora | more
vi boobooke.ora
show user;(查看那个用户)
sqlplus /nolog
conn /as sysdba
startup pfile=$ORACL_HOME/dbs/boobooke.ora
ps -ef | grep oracle;
quit
oraclewilson(LOCAL= NO)--非本地的连接
show parameter dump;
-------------------------
alter session set sql_trace = true;
show parameter dump;(修改后查仍然是FALSE,好像直接查不出来)
---------------------------
tail -f wilson_ora_3088.trc(跟踪日志文件)
select * from dual;
create table t(id char(10));
dbmbs_system.set_sql_trace_in_session;
env ! grep ORACLE(列出SID,HOME,BASE信息)
alter database open read only;
----------------------
startup mount;
alter database open read only;
---------------------
shutdown immediate
startup
desc dba_users;(查所有用户)
select usename,account_status from dba_users;
HR Expired&locked(HR用户的状态是过期和锁住)
---------------------
解锁hr用户
alter user set account unlock;
alter user hr account unlock;
select username ,account_status from dba_users;
HR Expired(HR用户的状态是过期)
------------------------
解除过期
alter user hr identified by hr;
select username,account_status from dba_users;
HR open(HR用户的状态是open)
-------------------------------------
exit
sqlplus /nolog
conn / as sysdba
shutdown immediate;
startup mount;
alter database open read only;
quit
sqlplus hr/hr
select * from regions;
insert into regions values(5,'mars');
sqlplus /nolog
conn /as sysdba
alter database open read write;
shutdown immediate;
sqlplus hr/hr
insert into regions values(5,'mars');
select * from regions;
第13讲:Chapter 04--Creating a Database
数据库规范
OFA,3条规则(建议到联机文档去看看清晰的)
创建数据库3个前提
相关有权限的账号(OS+Database)
足够的内存启动实例
足够的磁盘容纳数据库
验证过程--
相关命令:
env |grep ORACL
cd /u01
ls -l
cd oradata/
ls
ls -l
pwd
id
export ORACLE_HOME=/u01/oracle
export ORACLE_SID=wilson
env | grep ORA
/uo1/oracle/bin/sqlplus /nolog
conn / as sysdba
conn sys/bb as sysdba
startup
第14讲:Chapter 04--Creating a Database
靠,浏览器破溃,没有提前保存,14,15讲的东西全没了
第15讲:Chapter 04--Creating a Database
靠,浏览器破溃,没有提前保存,14,15讲的东西全没了
只有命令了
clear src(清屏)
create table bbktbl(id integer,name char(10));
insert into bbktbl values(0,'wison');
select * from bbktbl;
desc v$transaction;
select addr,status from v$transaction;
commit;(插入记录,必须commit,不然transaction事务没法完成)
insert into bbktbl values(1,'chric');
show parameter dump;
cd /u01/admin/wilson/adump/
vi alert_winson.log
:5369(到最后一行)
Ctrl B,往回跳
strings spfilewilson.ora | more
vi boobooke.ora
show user;(查看那个用户)
sqlplus /nolog
conn /as sysdba
startup pfile=$ORACL_HOME/dbs/boobooke.ora
ps -ef | grep oracle;
quit
oraclewilson(LOCAL= NO)--非本地的连接
show parameter dump;
-------------------------
alter session set sql_trace = true;
show parameter dump;(修改后查仍然是FALSE,好像直接查不出来)
---------------------------
tail -f wilson_ora_3088.trc(跟踪日志文件)
select * from dual;
create table t(id char(10));
dbmbs_system.set_sql_trace_in_session;
env ! grep ORACLE(列出SID,HOME,BASE信息)
alter database open read only;
----------------------
startup mount;
alter database open read only;
---------------------
shutdown immediate
startup
desc dba_users;(查所有用户)
select usename,account_status from dba_users;
HR Expired&locked(HR用户的状态是过期和锁住)
---------------------
解锁hr用户
alter user set account unlock;
alter user hr account unlock;
select username ,account_status from dba_users;
HR Expired(HR用户的状态是过期)
------------------------
解除过期
alter user hr identified by hr;
select username,account_status from dba_users;
HR open(HR用户的状态是open)
-------------------------------------
exit
sqlplus /nolog
conn / as sysdba
shutdown immediate;
startup mount;
alter database open read only;
quit
sqlplus hr/hr
select * from regions;
insert into regions values(5,'mars');
sqlplus /nolog
conn /as sysdba
alter database open read write;
shutdown immediate;
sqlplus hr/hr
insert into regions values(5,'mars');
select * from regions;
env |grep ORACL
cd /u01
ls -l
cd oradata/
ls
ls -l
pwd
id
export ORACLE_HOME=/u01/oracle
export ORACLE_SID=wilson
env | grep ORA
/uo1/oracle/bin/sqlplus /nolog
conn / as sysdba
conn sys/bb as sysdba
startup
ps -ef | grep oracle
id
lsnrctl start(让远程机器连接进来)
sqlplus /nolog
conn sysPoracle9ivm as sysdba
输入口令
管理口令文件
orapwd file=$ORACLE_HOME/dbs/orapwU15
password= admin entries=5;
Grant sysdba to hr;
一般放在dba目录下
rm -f rapwtest
strings spfilewilson.ora
vi .bash_profile
export ORACLE_SID=chris
env |grep ORA
dbca
手工删除chris数据库:
cd ..
rm -fr chris/
cd /u01/oradate
rm -fr chris/
cd dbs
rm -fr orapwchris lkwchris spfilechris.ora