2020-02-22-Oracle

Category

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

network
在这里插入图片描述
假设数据库的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配置监听器在哪里配置

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值