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

相关推荐
松涛和鸣27 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa1 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k1 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦1 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL2 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·2 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德2 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫3 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i3 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.3 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql