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

相关推荐
该用户已不存在25 分钟前
MySQL 与 PostgreSQL,该怎么选?
数据库·mysql·postgresql
GoldenaArcher1 小时前
GraphQL 工程化篇 III:引入 Prisma 与数据库接入
数据库·后端·graphql
川石课堂软件测试1 小时前
自动化测试之 Cucumber 工具
数据库·功能测试·网络协议·测试工具·mysql·单元测试·prometheus
RestCloud1 小时前
StarRocks 数据分析加速:ETL 如何实现实时同步与高效查询
数据库
cgsthtm1 小时前
RuoYi.Net后端返回雪花ID前端精度丢失问题
oracle·vue·精度丢失·雪花id·ruoyi.net
野猪亨利6672 小时前
Qt day1
开发语言·数据库·qt
本就一无所有 何惧重新开始2 小时前
Redis技术应用
java·数据库·spring boot·redis·后端·缓存
isaki1372 小时前
qt day1
开发语言·数据库·qt
流星白龙2 小时前
【Qt】4.项目文件解析
开发语言·数据库·qt
小钻风33662 小时前
HTTPS是如何确保安全的
网络·数据库