博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称)...
阅读量:5299 次
发布时间:2019-06-14

本文共 4153 字,大约阅读时间需要 13 分钟。

显示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(不同环境可能不一样) .
=========================================================
关于show sga结果的描述
Total System Global Area AAAAA bytes
Fixed Size BBBBB bytes
Variable Size CCCCC bytes
Database Buffers DDDDD bytes
Redo Buffers EEEEE bytes
fixes size : oracle 的不同平台和不同版本下可能不一样,但对于确定环境是一个固定的值,里面存储了 SGA 各部分 组件 的信息,可以看作 引导 建立 SGA 的区域
Variable Size : 包括 shared pool ,java pool ,large pool, 管理DB_BLOCK_BUFFERS 的内存,管理控制文件信息的内存,等等其他管理和控制 oracle 内部结构的内存
redo buffer
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:为了保护日志内存,而增加了辅助的内存,也就是保护页
SQL> show sga
Total System Global Area 496049552 bytes
Fixed Size 454032 bytes
Variable Size 109051904 bytes
Database Buffers 385875968 bytes
Redo Buffers 667648 bytes
SQL>
对于数据库来说,在不同 的平台下
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 toto/123456 as sysdba;
执行 select name form 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;

 

1.查看表结构:desc表名

2.查看当前用户的表:

select   table_name   from   user_tables;   

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

 

转载于:https://www.cnblogs.com/pangblog/p/3249216.html

你可能感兴趣的文章
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
图片生成缩略图
查看>>
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>