Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称,数据库管理,sqlPlus数据显示)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 显示Oracle sga相关信息: SQL> show sga Total System Global Area 105978600 bytes Fixed Size 453352 bytes Variable Size 50331648 bytes Database Buffers 54525952 bytes Redo Buffers 667648 bytes SQ

显示Oracle sga相关信息:
SQL> show sga

Total System Global Area 105978600 bytes
Fixed Size 453352 bytes
Variable Size 50331648 bytes
Database Buffers 54525952 bytes
Redo Buffers 667648 bytes
SQL>

Fixed Size:
oracle 的不同平台和不同版本下可能不一样,但对于确定环境是一个固定的值,里面存储了SGA 各部分组件的信息,可以看作引导建立SGA的区域。

Variable Size:
包含了shared_pool_size、java_pool_size、large_pool_size 等内存设置

Database Buffers:
指数据缓冲区,在8i 中包含db_block_buffer*db_block_size、buffer_pool_keep、buffer_pool_recycle 三部分内存。在9i 中包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、 db_nk_cache_size。

Redo Buffers:
指日志缓冲区,log_buffer。在这里要额外说明一点的是,对于v$parameter、v$sgastat、v$sga查询值可能不一样。v$parameter 里面的值,是指用户在初始化参数文件里面设置的值,v$sgastat是oracle 实际分配的日志缓冲区大小(因为缓冲区的分配值实际上是离散的,也不是以block 为最小单位进行分配的),v$sga 里面查询的值,是在oracle 分配了日志缓冲区后,为了保护日志缓冲区,设置了一些保护页,通常我们会发现保护页大小是8k(不同环境可能不一样) .

=========================================================

1: 设置参数

SQL> show parameters log_buffer

NAME TYPE VALUE

------------------------------------ ------- ------------------------------

log_buffer integer 524288

2:日志内存大小

SQL> select * from v$sgastat where name like '%log%';

POOL NAME BYTES

----------- -------------------------- ----------

log_buffer 656384

3:为了保护日志内存,而增加了辅助的内存,也就是保护页

-------------------------------------------------

对于数据库来说,在不同 的平台下

log_buffer 是离散的 一组值,假设是集合 R,并且不是按照 os blockck 或者 db block 为步长增加的,(比如可能是 65k,128k,512k ,641k....这样的值) 当设置参数为某个值的时候,数据库选择的实际大小是 大于等于 该值 的 min(R) ,根据这组值,比如你设置了 log_buffer = 600k ,则实际选择的是641 k

然后,在实际分配内存的时候,为了 给 log buffer 做一些保护,还另外分配了一小部分空间,通常是 11 k 大小。

则有641+11 = 652 k

这才是 最后真正的 内存大小 ,也就是 show SGA 时候显示大小。

怎样查看Oracle的数据库名称sid
用sysdba身份登录 比如sqlplus sys/123456 as sysdba;
执行 select name from V$database; 或是执行select * from V$database;
不过执行第二个显示的内容太多了不好找自己想要的结果
你也可以先用desc V$database;语句查看一下V$database都有什么字段然后选择自己想要的字段进行选择

查看实例名称(sid):
select instance_name from V$instance;
一般默认情况下sid与你的数据库的名称是一样的!

查看用户和默认表空间的关系:   
select username,default_tablespace from user_users;

修改表空间的名称(这时候要以DBA方式登录sqlplus sys/oracle as SYSDBA;)

alter tablespace TABLESPACENAME RENAME To misps;

增加数据文件或者增大数据文件尺寸都可以扩展表空间
例如修改数据文件尺寸:
alter database datafile '数据文件的路径和名称' resize 300m;

 

--------------------------------------------------------------

sqlplus数据显示

显示当前的显示条数(默认是14):
2 show pagesize;
3 设置显示条数为100跳:
4 set pagesize 100;
5 显示当前的显示列数:
6 show linesize;
7 设置显示列数为100:
8 set linesize 100;

--------------------------------------------------------------

 数据库管理:

 1.查看当前用户的表:

select table_name from user_tables;

2.查看表结构:desc表名 
3.查看所有用户的表名:

select    table_name    from   all_tables;    
4.查看所有表名(其中包括系统表)

select   table_name    from   all_tables;     
5.查看所有的表:

select  *  from  tab/dba_tables/dba_objects/cat; 
下面介绍Oracle查询用户表空间

 ◆Oracle查询用户表空间:select * from user_all_tables

 ◆Oracle查询所有函数和储存过程:select * from user_source

 ◆Oracle查询所有用户:select * from all_users;  select * from dba_users

 ◆Oracle查看当前用户连接:select * from v$Session

 ◆Oracle查看当前用户权限:select * from session_privs

◆Oracle查看用户表空间使用情况: select a.file_id "FileNo",a.tablespace_name     "Tablespace_name",    a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",    sum(nvl(b.bytes,0)) "Free",    sum(nvl(b.bytes,0))/a.bytes*100 "%free"    from dba_data_files a, dba_free_space b    where  a.file_id  = b  .file_id(+)    group by a.tablespace_name ,    a.file_id,a.bytes order by a.tablespace_name;  

1.查看所有用户:   select * from dba_user;   select * from all_users;   select * from user_users;

2.查看用户系统权限:   select * from dba_sys_privs;   select * from all_sys_privs;   select * from user_sys_privs;

3.查看用户对象权限:   select * from dba_tab_privs;   select * from all_tab_privs;   select * from user_tab_privs;

4.查看所有角色:   select * from dba_roles;

5.查看用户所拥有的角色:   select * from dba_role_privs;   select * from user_role_privs;  

6.查看角色所拥有的权限:     select * from role_sys_privs;     select * from role_tab_privs;  

7.查看所有系统权限     select * from system_privilege_map;   

8.查看所有对象权限     select * from table_privilege_map;   以上是在Oracle中查看用户权限 , 在DB2中为:   select * from syscat.dbauth   或者   get authorizations  查看sid select * from v$instance

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4天前
|
数据库 Python
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
|
3天前
|
数据库
【YashanDB知识库】数据库用户所拥有的权限查询
【YashanDB知识库】数据库用户所拥有的权限查询
|
3天前
|
存储 运维 监控
百万指标,秒级查询,零宕机——时序数据库 TDengine 在 AIOps 中的硬核实战
本篇文章详细讲述了七云团队在运维平台中如何利用 TDengine 解决海量时序数据存储与查询的实际业务需求。内容涵盖了从数据库选型、方案落地到业务挑战及解决办法的完整过程,特别是分享了升级 TDengine 3.x 时的实战经验,给到有需要的小伙伴参考阅读。
18 1
|
3天前
|
缓存 NoSQL 关系型数据库
WordPress数据库查询缓存插件
这款插件通过将MySQL查询结果缓存至文件、Redis或Memcached,加速页面加载。它专为未登录用户优化,支持跨页面缓存,不影响其他功能,且可与其他缓存插件兼容。相比传统页面缓存,它仅缓存数据库查询结果,保留动态功能如阅读量更新。提供三种缓存方式选择,有效提升网站性能。
21 1
|
6天前
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
110 82
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
8天前
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
1月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
198 42
|
13天前
|
SQL 关系型数据库 MySQL
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。
|
1月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
153 25

推荐镜像

更多