1.3.7
- 看oracle是否启动
- 构造一个pfile:boobooke.ora
- 看spfilewilson内容
- 修改alert log file里拷贝的参数内容,创建一个pfile boobooke.ora
- 用新创建的pfile启动数据库,并创建新的spfile:spfilebbk.ora
- 启动数据库,监听,看新的进程
- 解锁登陆scott
- 数据库只读状态
- 尝试创建一个表
看oracle是否启动
ps -ef | grep oracle
# 已启动
构造一个pfile:boobooke.ora
sqlplus system/oracle
show parameter dump
cd /u01/admin/wilson/bdump/
ls
vi alert_wilson.log
:5639
ctrl+b
# copy parameter
看spfilewilson内容
cd
cd dbs
ls
strings spfilewilson.ora | more
修改alert log file 里拷贝的参数内容,创建一个pfile boobooke.ora
# modify previous copy text,then copy them
vi boobooke.ora
# paste the text
:wq
exit
shutdown immediate
show user;
quit
sqlplus /nolog
conn / as sysdba
shutdown immediate
quit
clear
cd
cd dbs
clear
用新创建的pfile:boobooke.ora启动数据库,并且由此创建新的spfile:spfilebbk.ora
ls -l
sqlplus /nolog
conn /as sysdba
startup pfile=$ORACLE_HOME/dbs/boobooke.ora
create spfile='spfilebbk.ora' from pfile='boobooke.ora';
启动数据库,监听,看新的进程
ps -ef | grep oracle
lsnrctl start
sqlplus /nolog
conn / as sysdba
startup
quit
ps -ef | grep oracle
できない 远端连接看新的进程
(sqlplus system/oracle@oracle9ivm)
ps -ef | grep oracle
clear
できない 会话级别使用sql_trace生成user trace
show parameter dump
!
cd /u01/admin/wilson/udump/
ls -l
# nothing
(select * from dual)
ls -l
# nothing
(show parameter sql_trace # FALSE)
(alter session set sql_trace = true;)
(show parameter sql_trace # FALSE)
!
pwd
ls -l
# total 0
(select * from dual)
ls -l
# total 0
(quit)
(sqlplus system/oracle@oracle9ivm)
(alter session set sql_trace=true;)
ls -l
# total 8
# wilson_ora_3888.trc
ps -ef | grep oracle
# 3888 oralcewilson (LOCAL=NO)
tail -f wilson_ora_3888.trc
(create table t <id char<10>>;)
# many tail
1.3课后题
登陆hr
shutdown immediate
startup
desc dba_users;
select username,account_status from dba_users;
alter user hr account unlock;/
select username,account_status from dba_users;
alter user hr identified by hr;
select username,account_status from dba_users;
quit
sqlplus hr/
quit
数据库只读状态
su - oracle
sqlplus /nolog
conn / as sysdba
shutdown immediate
startup mount
alter database open read only;
quit
尝试语句insert into regions values(5,'Mars');
sqlplus hr/hr
select * from regions;
insert into regions values(5,'Mars');
shutdown immediate
startup
sqlplus hr/hr
insert into regions values(5,'Mars');
select * from regions;
commit;
---
Oracle 数据库操作日志
1. 检查 Oracle 是否启动
首先,使用以下命令检查 Oracle 数据库是否已经启动:
bash
ps -ef | grep oracle
如果看到 Oracle 进程,则表示数据库已启动。
2. 构造 PFILE: boobooke.ora
连接到 SQL*Plus,执行以下命令:
sql
sqlplus system/oracle
SHOW PARAMETER DUMP
导航到日志文件目录并打开 alert_wilson.log
:
bash
cd /u01/admin/wilson/bdump/
vi alert_wilson.log
找到相关参数并复制。
3. 查看 SPFILE 内容
查看 spfilewilson.ora
的内容:
bash
cd $ORACLE_HOME/dbs
strings spfilewilson.ora | more
4. 创建新的 PFILE boobooke.ora
将复制的参数粘贴到新文件中:
bash
vi boobooke.ora
# 粘贴参数内容
:wq
然后立即关闭数据库:
sql
shutdown immediate;
5. 使用新创建的 PFILE 启动数据库并创建新的 SPFILE
通过以下命令启动数据库并创建新的 SPFILE:
bash
sqlplus /nolog
conn / as sysdba
startup pfile='$ORACLE_HOME/dbs/boobooke.ora';
create spfile='spfilebbk.ora' from pfile='boobooke.ora';
6. 启动数据库和监听进程
启动监听器并检查进程:
bash
lsnrctl start
sqlplus /nolog
conn / as sysdba
startup;
然后再次查看 Oracle 进程:
bash
ps -ef | grep oracle
7. 解锁 scott
用户
登录后执行以下命令解锁用户:
sql
alter user scott account unlock;
8. 设置数据库为只读状态
将数据库设置为只读:
sql
su - oracle
sqlplus /nolog
conn / as sysdba
shutdown immediate;
startup mount;
alter database open read only;
9. 尝试创建表
尝试创建表时,确保参数设置正确,例如:
sql
insert into regions values(5,'Mars');
如果在只读状态下插入数据,将会失败。
10. 数据库状态检查
检查 dba_users
的状态:
sql
desc dba_users;
select username, account_status from dba_users;
课后练习
登录 hr
用户并进行相应操作:
sql
shutdown immediate;
startup;
select username, account_status from dba_users;
alter user hr account unlock;
select username, account_status from dba_users;
alter user hr identified by hr;
确认 hr
用户能够登录并执行 SQL 查询。
结束语
通过以上步骤,我们成功地管理了 Oracle 数据库的启动、用户状态和参数配置。在操作过程中,要注意数据库状态和用户权限,以确保系统的稳定性和安全性。