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

相关推荐
sdaxue.com1 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码
o(╥﹏╥)2 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
阿里嘎多学长2 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
Yuan_o_2 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Sunyanhui12 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql
老王笔记2 小时前
MHA binlog server
数据库·mysql
lovelin+v175030409663 小时前
安全性升级:API接口在零信任架构下的安全防护策略
大数据·数据库·人工智能·爬虫·数据分析
DT辰白4 小时前
基于Redis的网关鉴权方案与性能优化
数据库·redis·缓存
2401_871213304 小时前
mysql高阶语句
数据库·mysql