Category
- 1.熟悉基本命令与文件位置
- 1.1熟悉基本命令
- 1.2.熟悉文件位置
- 1.2.1需要熟记的文件位置
- 1.2.2Oracle数据库的BASE路径
- 1.2.3Oracle数据库的HOME路径(Oracle软件的家目录)
- 1.2.4告警日志文件--alert_orcl.log
- 1.2.5安装过程中没执行的两个脚本--绿色字
- 1.2.6Oracle软件的bin路径ーーsqlplus,lsnrctl等命令放到哪儿了
- 1.2.7参数文件--家目录下的dbs路径下
- 1.2.8与网络相关配置文件的位置(netca进行网络配置的过程就是配置这两个文件的过程)--监听器&tnsnames
- 1.2.9脚本位置
- 1.2.10最原始的初始化参数文件位置--pfile
- 1.2.11审计--adump
- 1.2.12与系统内核相关的文件位置(系统出现严重bug的时候查看这个文件是不是爆满了)--cdump
- 1.2.13“库”的位置--控制文件、数据文件、日志文件
- 1.2.14库路径--control02的位置
- 2.数据库的简单应用
- 3.数据库物理文件构成
- 4.实验
1.熟悉基本命令与文件位置
1.1熟悉基本命令
1.1.1如何登陆到数据库-sqlplus
基于操作系统认证的身份-sys
- 使用sqlplus连接数据库,只有sys用户,才加as sysdba
基于用户名密码认证的身份-其他身份
- 改密码:alter user system identified by 123456
1.1.2监听器的维护命令-lsnrctl
开启监听器的作用:允许其他客户端通过监听器连接到数据库
lsnrctl status-查看监听器状态
lsnrctl start-开启监听器
no services:没关系,稍等一下
lsnrctl stop-停止监听器
exit-退出监听器
1.2.熟悉文件位置
https://editor.csdn.net/md?articleId=106353312
1.2.1需要熟记的文件位置
Oracle数据库的BASE路径
Oracle数据库的HOME路径
闪回恢复区的位置
警告日志文件的位置
服务器参数文件的位置
与网络相关配置文件的位置
脚本的位置
Oracle软件的bin路径
“库”的位置--控制文件、数据文件、日志文件
文件放置的路径–/dat/DBData
软件放置的路径–/dat/DBSoftwarecd
Oracle的base路径–$ORACLE_BASE
su - oracle
echo $ORACLE_BASE
cd $ORACLE_BASE
闪回恢复区的位置–flash_recovery_area
1.2.2Oracle数据库的BASE路径
※ .bashprofile中可查
export ORACLE_BASE=/dat/DBSoftware/oracle
1.2.3Oracle数据库的HOME路径(Oracle软件的家目录)
※ .bashprofile中可查
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
1.2.4告警日志文件–alert_orcl.log
select value from v$parameter where name=‘background_dump_test’;
or
show parameter background_dump_test
/dat/DBSoftware/oracle/diag/rdbms/orcl/orcl/trace
※ 看300行,查看有没有bug,有没有错误,有什么注意事项,dba每天都要看它
tail -n 300 alert_orcl.log
1.2.5安装过程中没执行的两个脚本–绿色字
cd /dat/DBSoftware/oraInventory
软件的家目录下: cd $ORACLE_HOME
1.2.6Oracle软件的bin路径ーーsqlplus,lsnrctl等命令放到哪儿了
cd $ORACLE_HOME/bin
1.2.7参数文件–家目录下的dbs路径下
show parameter spfile
路径
服务器参数文件
初始化参数文件
密码文件
1.2.8与网络相关配置文件的位置(netca进行网络配置的过程就是配置这两个文件的过程)–监听器&tnsnames
假设数据库的ip地址,数据库的名字变了,怎么办呢?
※数据库正在跑,去改名字,数据库可能会down机
怎么办?
1)服务器的ip地址换掉
2)监听器的ip地址换掉
3)重启监听器
1.2.9脚本位置
1.2.10最原始的初始化参数文件位置–pfile
/dat/DBSoftware/oracle/admin/orcl/pfile
数据库启动默认读spfile
init.ora可以手动启动
1.2.11审计–adump
/dat/DBSoftware/oracle/admin/orcl
1.2.12与系统内核相关的文件位置(系统出现严重bug的时候查看这个文件是不是爆满了)–cdump
参考告警日志路径
/dat/DBSoftware/oracle/diag/rdbms/orcl/orcl
1.2.13“库”的位置–控制文件、数据文件、日志文件
什么叫数据库?
组成数据库的下面这些文件的集合叫数据库
/dat/DBData/orcl
1.2.14库路径–control02的位置
※ 控制文件内容不一致,数据库肯定起不来了
※ 数据库启动时读的第一个文件时spfile,读的第二个文件controlfile,第三个文件是下面这些
2.数据库的简单应用
2.1切换用户例
conn/as sysdba
2.2数据库语言分类
2.1.1DML DDL DCL
数据库的DDL、DML和DCL的区别与理解
- https://blog.csdn.net/weixin_42161670/article/details/97617891
2.2.2作业
用sql语句的形式将下列题目显示出来
-
奥运会的五环
-
五角星
-
圣诞树
-
行数列数有没有最大限制
2.3上下键安插件
待补充
2.4视图 v$ controlfile,v$ datafile
select name from v$controlfile;
select name from v$datafile;
3.数据库物理文件构成
3.1数据库物理文件一览
控制文件
数据文件
日志文件
参数文件
3.2控制文件
3.2.1数据库启动顺序
数据库启动:spfile>control file>data file/logfile
- 参数文件中记录了控制文件的名称和位置
- 控制文件中记录了数据文件和日志文件的名称和位置
3.2.2控制文件定义
控制文件:与数据库相关的结构信息
3.2.3控制文件相关链接
参考链接:https://blog.csdn.net/weixin_42161670/article/details/93768432
3.2.4实验–手动添加控制文件03,04,05
实验–手动添加控制文件03,04,05
方法一
修改始化参数文件中的control file路径,添加控制文件03,04,05
再通过pfile重启数据库
再通过pfile构建spfile
1.关闭数据库
2.复制控制文件 03,04,05
3.修改 pfile,把控制文件加进去 :vi initorcl.ora
*.control_files='/dat/DBData/orcl/control01.ctl','/dat/DBSoftware/oracle/flash_recovery_area/orcl/control02.ctl','/dat/DBData/orcl/control03.ctl','/dat/DBData/orcl/control04.ctl','/dat/DBData/orcl/control05.ctl'
4.用pfile启动数据库
SQL> startup pfile=$ORACLE_HOME/dbs/initorcl.ora
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 499124216 bytes
Database Buffers 335544320 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> create spfile from pfile
2 ;
File created.
SQL>
SQL>
SQL>
SQL> show parameter controlfile
SQL> show parameter control;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /dat/DBData/orcl/control01.ctl
, /dat/DBSoftware/oracle/flash
_recovery_area/orcl/control02.
ctl, /dat/DBData/orcl/control0
3.ctl, /dat/DBData/orcl/contro
l04.ctl, /dat/DBData/orcl/cont
rol05.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
SQL>
5.再shutdown,再startup
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 499124216 bytes
Database Buffers 335544320 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
方法二
修改contro_file参数,增加control file 03,04,05(前提是要判断该参数是静态文件还是动态文件,以确认scope)
重启数据库,通过spfile构建pfile文件
具体步骤,此处略
3.3数据文件
3.3.1数据文件定义
3.3.2表空间
表空间是与物理文件相对应的逻辑结构
※ 一个表空间可以有一个或多个数据文件
※ 一个文件只能属于一个表空间
※ 默认二者是一一对应
※ 内存不够时在temp找块地方进行排序
※ UNDOTBS1:存放数据的前镜像
※ 数据的前镜像会一直保存下去吗?它和什么有关
->> 与参数undo_retention有关,默认900s,15分钟
->> 跟有没有更大的事务来有关
->> commit告诉你数据的前镜像可以被覆盖
->> 如果不commit,那么数据的前镜像永远不会被覆盖
3.3.3一些视图的简单应用
3.3.3.1当前数据库所有的文件和路径
3.3.3.2除了临时文件以外的所有文件的表空间
dba_data_files?
3.3.3.3每个数据文件的大小
dba_data_files
3.3.3.4查看有多少表空间
3.3.3.4这个表是有哪个用户创建的
dba_tables
3.3.3数据文件相关链接
Oracle查找数据文件的存放大小,位置及状态
- https://editor.csdn.net/md/?articleId=102724889
ORACLE如何查看用户,表空间,数据文件对应关系?
- https://editor.csdn.net/md/?articleId=102611145
3.3参数文件
3.3.1初始化参数文件定义
内存,process都和参数文件有关
它是一个文本文件
初始化参数文件是通过服务器参数文件构建出来的
3.3.2初始化参数文件内容
3.3.3为什么数据库是以服务器参数文件启动的
cd $ORACLE_HOME/dbs
有值以服务器参数文件启动
没值以初始化参数文件启动
3.3.4使用初始化参数文件启动数据库
3.3.5SPfile没有了,数据库还能启动吗
spfile没了
正常startup,数据库自动去找pfile文件
开启之后通过pfile构建spfile
※ 如果spfile和pfile文件都没了,数据库还能启动吗?
可以通过最原始的参数文件启动,此处略
3.3.6修改参数
这里问题来了,所有的参数都是如上这么修改的吗?
参数:动态参数及静态参数
alter system set mingzi=zhi scope=memory/spfile/both
memory:当前生效,下次启动数据库失效
spfile:当前不生效,重启数据库之后生效
both:同时生效
与参数文件对应的视图
FALSE代表是静态参数
静态参数scope只能=spfile
服务器参数文件中的参数改了,但是初始化参数文件还没改
因此需要同步一下pfile
3.3.7参数文件的实验
1.确定服务器参数文件的名称和位置
2.通过服务器参数文件构建初始化参数文件,并确定初始化参数文件的名称和位置
3.确定processes参数是动态参数还是静态参数
4.修改processes值为300,并与初始化参数文件同步
1.确定服务器参数文件的名称和位置
show parameter spfile
/dat/DBSoftware/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora
2.通过服务器参数文件构建初始化参数文件,并确定初始化参数文件的名称和位置
create pfile from spfile
/dat/DBSoftware/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
3.确定processes参数是动态参数还是静态参数
SQL> select name,value,ISSYS_MODIFIABLE from v$parameter where name='processes';
NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
ISSYS_MOD
---------
processes
150
FALSE
这里ISSYS_MODIFIABLE值为FALSE,因此判断processes为静态参数
4.修改processes值为300,并与初始化参数文件同步
SQL> alter system set processes=300 scope=spfile;
System altered.
SQL>
SQL>
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 499124216 bytes
Database Buffers 335544320 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
SQL> create pfile from spfile;
File created.
查看初始化参数文件中processes是否修改成300了
[oracle@localhost dbs]$ more initorcl.ora
orcl.__db_cache_size=335544320
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/dat/DBSoftware/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=339738624
orcl.__sga_target=503316480
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=150994944
orcl.__streams_pool_size=0
*.audit_file_dest='/dat/DBSoftware/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/dat/DBData/orcl/control01.ctl','/dat/DBSoftware/oracle/fla
sh_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/dat/DBSoftware/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/dat/DBSoftware/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=839909376
*.nls_language='SIMPLIFIED CHINESE'
*.open_cursors=300 #看这里已经由原来的150改成300了
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
3.3.8参数文件相关链接
Show Parameter 参数查询的两种方式
- https://blog.csdn.net/weixin_42161670/article/details/92764741
4.实验
4.1参数文件的实验
1.确定服务器参数文件的名称和位置
2.通过服务器参数文件构建初始化参数文件,并确定初始化参数文件的名称和位置
3.确定processes参数是动态参数还是静态参数
4.修改processes值为300,并与初始化参数文件同步
1.确定服务器参数文件的名称和位置
show parameter spfile
/dat/DBSoftware/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora
2.通过服务器参数文件构建初始化参数文件,并确定初始化参数文件的名称和位置
create pfile from spfile
/dat/DBSoftware/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
3.确定processes参数是动态参数还是静态参数
SQL> select name,value,ISSYS_MODIFIABLE from v$parameter where name='processes';
NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
ISSYS_MOD
---------
processes
150
FALSE
这里ISSYS_MODIFIABLE值为FALSE,因此判断processes为静态参数
4.修改processes值为300,并与初始化参数文件同步
SQL> alter system set processes=300 scope=spfile;
System altered.
SQL>
SQL>
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 499124216 bytes
Database Buffers 335544320 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
SQL> create pfile from spfile;
File created.
查看初始化参数文件中processes是否修改成300了
[oracle@localhost dbs]$ more initorcl.ora
orcl.__db_cache_size=335544320
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/dat/DBSoftware/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=339738624
orcl.__sga_target=503316480
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=150994944
orcl.__streams_pool_size=0
*.audit_file_dest='/dat/DBSoftware/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/dat/DBData/orcl/control01.ctl','/dat/DBSoftware/oracle/fla
sh_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/dat/DBSoftware/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/dat/DBSoftware/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=839909376
*.nls_language='SIMPLIFIED CHINESE'
*.open_cursors=300 #看这里已经由原来的150改成300了
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
4.2实验–手动添加控制文件03,04,05
实验–手动添加控制文件03,04,05
方法一
修改始化参数文件中的control file路径,添加控制文件03,04,05
再通过pfile重启数据库
再通过pfile构建spfile
1.关闭数据库
2.复制控制文件 03,04,05
3.修改 pfile,把控制文件加进去 :vi initorcl.ora
*.control_files='/dat/DBData/orcl/control01.ctl','/dat/DBSoftware/oracle/flash_recovery_area/orcl/control02.ctl','/dat/DBData/orcl/control03.ctl','/dat/DBData/orcl/control04.ctl','/dat/DBData/orcl/control05.ctl'
4.用pfile启动数据库
SQL> startup pfile=$ORACLE_HOME/dbs/initorcl.ora
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 499124216 bytes
Database Buffers 335544320 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> create spfile from pfile
2 ;
File created.
SQL>
SQL>
SQL>
SQL> show parameter controlfile
SQL> show parameter control;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /dat/DBData/orcl/control01.ctl
, /dat/DBSoftware/oracle/flash
_recovery_area/orcl/control02.
ctl, /dat/DBData/orcl/control0
3.ctl, /dat/DBData/orcl/contro
l04.ctl, /dat/DBData/orcl/cont
rol05.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
SQL>
5.再shutdown,再startup
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 499124216 bytes
Database Buffers 335544320 bytes
Redo Buffers 2396160 bytes
Database mounted.
Database opened.
方法二
修改contro_file参数,增加control file 03,04,05(前提是要判断该参数是静态文件还是动态文件,以确认scope)
重启数据库,通过spfile构建pfile文件
具体步骤,此处略
4.3配置数据库随操作系统的启动而启动
vi /etc/oratab
将n改成y
root 用户执行
把数据库和监听器的命令放到里边
效果:
sqlplus连接数据库,没有idle,直接连上数据库了
4.4屏蔽操作系统认证
想进入数据库 必须输入正确的用户名和密码
创建一个空文件
编辑文件
SQLNET.AUTHENTICATION_SERVICES=(NONE)
致此,必须输入正确的用户名,密码
想恢复到之前情况,只需要把该文件删了即可
※ sqlnet.ora必须放到admin路径下,否则改文件不会生效
4.5netmgr配置监听器在哪里配置