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

相关推荐
柊二三9 分钟前
关于项目的一些完善功能
java·数据库·后端·spring
数据狐(DataFox)13 分钟前
外键列索引优化:加速JOIN查询的关键
数据库
码界奇点18 分钟前
Python深度挖掘:openpyxl与pandas高效数据处理实战指南
开发语言·数据库·python·自动化·pandas·python3.11
Python大数据分析@27 分钟前
SQL 怎么学?
数据库·sql·oracle
飞翔的佩奇1 小时前
Java项目:基于SSM框架实现的济南旅游网站管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】
java·数据库·mysql·毕业设计·ssm·旅游·毕业论文
rannn_1111 小时前
【MySQL学习|黑马笔记|Day3】多表查询(多表关系、内连接、外连接、自连接、联合查询、子查询),事务(简介、操作、四大体系、并发事务问题、事务隔离级别)
数据库·笔记·后端·学习·mysql
小云数据库服务专线2 小时前
GaussDB 约束的语法
数据库·sql·gaussdb
IT邦德2 小时前
少林寺用什么数据库?
数据库
Fireworkitte3 小时前
Couchbase 详解
数据库
涛思数据(TDengine)3 小时前
时序数据库厂商 TDengine 发布 AI 原生的工业数据管理平台 IDMP,“无问智推”改变数据消费范式
大数据·运维·数据库·人工智能·tdengine