Oracle视频基础1.3.7练习

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 数据库的启动、用户状态和参数配置。在操作过程中,要注意数据库状态和用户权限,以确保系统的稳定性和安全性。

相关推荐
小马同学-12 分钟前
mysql数据库原理
数据库·mysql
东方护航数据恢复(深圳)23 分钟前
政务信创案例:达梦 DM8 数据库掉电页损坏,48 小时修复实录【东方护航数据恢复深圳店】
数据库·数据恢复·it运维·服务器数据恢复·二次开盘·硬盘开盘
AC赳赳老秦1 小时前
OpenClaw 数据引用规范自动生成:为公开数据构建可信来源标注与标准引用体系
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw
小蒜学长2 小时前
校园社团招新网站的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·校园社团招新网站
布莱克6053 小时前
MySQL 增删改查(CRUD)语法详解
数据库·mysql·增删改查
Dovis(誓平步青云)3 小时前
几个方案来回选不定?做一个随时切换的候选推荐页
android·java·服务器·开发语言·javascript·数据库·智能化
2501_933670794 小时前
2027届大数据管理与应用求职数字化转型顾问:项目、SQL、业务理解怎么排优先级
数据库·sql
东方护航数据恢复(深圳)5 小时前
物流案例:勒索病毒 Mallox 加密 ERP 数据库,旧备份 + 残留页重组实录【东方护航数据恢复深圳店】
数据库·数据恢复·勒索病毒·二次开盘·开盘·数据镜像
.Hypocritical.5 小时前
Redis从入门到实战:核心原理、场景落地与避坑指南
数据库·redis·缓存
梦想画家5 小时前
SQLMesh Python 模型入门(二):依赖管理、引擎实战与内存优化
数据库·python·sqlmesh