oracle日常操作

这篇具有很好参考价值的文章主要介绍了oracle日常操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

所有的视图或者表
V$FIXED_TABLE 查看所有动态性能视图
dict 查看所有的固定视图

查看sga和pga的相关信息
select *from v s g a i n f o ; s e l e c t ∗ f r o m v sgainfo; select *from v sgainfo;selectfromvpgastat;

删除命名空间:
drop tablespace test_pdb1 including contents and datafiles;
查询用户的所有权限
select privilege from dba_sys_privs where grantee=‘DATAUSER’
union
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee=‘DATAUSER’ );
查看直接授予的权限或者角色:(权限说明具体是干什么的)
select * from dba_sys_privs;
查看用户对表所拥有的权限:
select * from dba_tab_privs;
查看用户被授予了那些角色:
select * from dba_role_privs;
查看一个角色有哪些权限:
select * from role_sys_privs;
查看某个角色对对象的权限:
SELECT * FROM role_tab_privs;
给用户进行批量授权

select 'grant select on '||owner||'.'||object_name||' to C##USER2;'
from dba_objects
where owner in ('C##USER1')
and object_type='TABLE';
然后将查询接结果复制并执行

归档:
oracle的归档要在mount状态下
alter database archivelog或者alter database noarchivelog
ARCHIVE LOG LIST 列出归档相关参数
ALTER SYSTEM SWITCH LOGFILE; 切换归档日志
alter system set log_archive_dest_1=‘location=xxxx’;将归档目录自定义
alter system set db_recovery_file_dest_size = ‘’;调整快速恢复区的大小
视图v$ RECOVERY_FILE_DEST来获得关于快速恢复区的如下相关信息:文件总数量,当前位置,磁盘限额,已使用空间,通过删除文件能回收空间。空间详细单位是字节
视图V$ RECOVERY_AREA_USAGE包含不同类型文件(包括控制文件、在线重做日志文件、归档重做日志文件、备份片、镜像拷贝、闪回日志、外部归档日志文件)的磁盘限额使用率及文件数量,通过删除废弃的、冗余的或者备份到磁带上的文件来回收的空间百分比。

修改redolog多副本
select * from v$logfile; 查看现有的groups
alter database add logfile member ‘/u01/app/oracle/oradata/orclcdb/redo04.log’ to group 1; 在group1中添加一个副本文件 会自动创建

修改controlfile多副本:
show parameter control
alter system set control_files=‘/u01/app/oracle/oradata/orclcdb/control01.ctl’,‘/u01/app/oracle/fast_recovery_area/orclcdb/control02.ctl’,‘/u01/app/oracle/oradata/orclcdb/control03.ctl’ scope=spfile;
shutdown immediate然后再复制现有的控制文件到新加的control03.ctl (注意文件的属主)

命名空间相关操作:

create tablespace test_pdb1 datafile '/u01/app/oracle/oradata/orclcdb/test_pdb1.dbf' size 100M autoextend on next 10M maxsize unlimited;
CREATE USER backtest identified by "xxx" DEFAULT TABLESPACE example   QUOTA UNLIMITED ON example;
 查询表空间使用情况:
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",     
D.TOT_GROOTTE_MB "表空间大小(M)",     
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",     
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",     
F.TOTAL_BYTES "空闲空间(M)",     
F.MAX_BYTES "最大块(M)"    
FROM (SELECT TABLESPACE_NAME,     
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,     
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES     
FROM SYS.DBA_FREE_SPACE     
GROUP BY TABLESPACE_NAME) F,     
(SELECT DD.TABLESPACE_NAME,     
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB     
FROM SYS.DBA_DATA_FILES DD     
GROUP BY DD.TABLESPACE_NAME) D     
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME     
ORDER BY 4 DESC;
查看表空间上的限额
select * from dba_ts_quotas;
查看表空间是否具有自动扩展的能力:     
SELECT T.TABLESPACE_NAME,D.FILE_NAME,     
D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS     
FROM DBA_TABLESPACES T,DBA_DATA_FILES D     
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME     
 ORDER BY TABLESPACE_NAME,FILE_NAME;   
增加表空间大小:
ALTER TABLESPACE app_data ADD DATAFILE
'/u01/app/oracle/oradata/orclcdb/test_pdb2.dbf' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;(也可以取消自动扩展)

或者直接修改现有数据文件大小:
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/orclcdb/test_pdb1.dbf'  
RESIZE 100M;  

查询整个库使用大小

该语句查询oracle数据库实际的大小
select sum(GB) as "TOTAL(G)"
    from (
        select sum(bytes)/1024/1024/1024 as GB
            from dba_data_files
        union all
        select sum(bytes)/1024/1024/1024
            from dba_temp_files
        union all
        select sum(bytes)/1024/1024/1024
            from v$log
    )

常见的sql操作
select * from dba_users where username=‘C##USER2’ 查看用户使用的表空间
select * from dba_data_files 查看每个表空间下的所有文件
select * from dba_ts_quotas; 查询用户的表空间限额
select dbms_metadata.get_ddl(‘TABLE’,‘HH4’) from dual; 查询建表语句

查询出系统中被锁的表
select b.owner,b.object_name,a.session_id,a.locked_mode 
from v$locked_object a,dba_objects b 
where b.object_id = a.object_id; 

select b.username,b.sid,b.serial#,logon_time 
from v$locked_object a,v$session b 
where a.session_id = b.sid order by b.logon_time; 

alter system kill session “sid,serial#”; 杀进程中的会话文章来源地址https://www.toymoban.com/news/detail-432232.html

-- 授予查询权限
GRANT SELECT ANY TABLE TO your_username;
GRANT SELECT ANY DICTIONARY TO your_username;
GRANT SELECT_CATALOG_ROLE TO your_username;

到了这里,关于oracle日常操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vue3+element plus 】el-table滚动条、固定列fixed、表头超出内容隐藏并显示省略号

            element plus中el-table采用的是el-scrollbar,无法采用全局默认滚动条样式修改,需要单独写公共样式。 原生滚动条样式 el-table滚动条样式 效果图:         el-table设置了自定义样式后,为el-table-column添加fixed=\\\"right\\\"属性,此时表格侧边栏固定列出现样式错乱,自定义

    2024年02月12日
    浏览(53)
  • SpringBoot整合Redis:java.io.IOException: 远程主机强迫关闭了一个现有的连接。或者控制台报连接超时异常

    场景: 项目启动过后 Redis 连接过一会就会断开,报如下问题: 问题1: 问题2: 问题3: 一、解决 1、设置连接空闲超过 N(秒或毫秒)后关闭,0为禁用:redis.timeout: 60s(这里设置和tcp-keepalive的值一致) 2、设置 redis 服务端的配置文件 redis.conf 中 tcp-keepalive 的时间为60(单位秒

    2024年02月13日
    浏览(38)
  • ORACLE如何找出视图依赖的对象和视图嵌套层数

    之前写过一篇文章“SQL Server如何找出视图依赖的对象和视图嵌套层数”,这里我介绍一下Oracle数据库中如何找出视图的依赖对象以及视图嵌套层数关系。主要通过DBA_DEPENDENCIES这个系统视图(这个系统视图中包含有对象的依赖关系数据)。另外,我们使用了Oracle的树形查询(

    2024年02月08日
    浏览(33)
  • Oracle中的视图

    视图是一个虚拟表 视图是由sql查询语句产生的 视图真实存在 但是不存储数据 视图中的数据 只是对 基表(源数据表) 中的数据的引用 总的来说 视图可以简化数据 用户,订单,物流 三个表进行关联 吧很复杂的sql查询语句存储成一个视图  获取结果就可以直接查询视图 不用再

    2024年04月26日
    浏览(22)
  • Oracle 的视图

    源数据: ps: 所有的视图的是基于基表的数据,相当于引用那个表的数据,当普通视图的值发生改变时,则基表值也会改变,反之亦然。 优点: 实时性,简化查询,安全性。 缺点: 影响性能,数据一致性(底层数据发生改变视图数据也会改变) ps:优点:性能提升,数据一致性,

    2024年02月16日
    浏览(30)
  • Oracle更新视图

    要了解是否可以修改固有可更新视图的列以及可以修改的方式,请查询 USER_UPDATABLE_COLUMNS 数据字典视图. 附带视图简介 视图是可在数据库中创建的已保存的查询。 单个视图可以引用一个或多个表。 而且,与表一样,视图由数据行和列组成。 可以使用视图作为查询源,其方式

    2024年02月16日
    浏览(26)
  • oracle创建视图 并分配用户

    创建视图 create view VI_BR_SURGICAL_INFO(视图名) as select a.BRID,a.BRXM,a.HISSQDH,VISIT_ID,b.SSMC as opm_oprt_name ,b.SSDM as opm_oprt_code, a.MZFF as anst_way,a.MZYS as anstdr_code, a.SSYS as oper_dr_code ,a.OPER_BEGIN as opm_oprt_begntime ,a.OPER_END as opm_oprt_endtime , a.ANES_BEGIN as anst_begntime,a.ANES_END as anst_endtime,a.ssid, b.jlxh a

    2024年02月06日
    浏览(43)
  • Oracle创建用户、授权视图权限

    1、创建用户密码 2、授权 3、创建视图 4、最终查询 5、回收表或视图权限

    2024年02月09日
    浏览(43)
  • ORACLE实时SQL监控视图

           实时的SQL监控(Real Time SQL Monitoring)是Oracle 11g的一个新特性,它是一项强大的工具,用于监视和分析正在执行的SQL语句的性能和执行计划。该功能允许我们实时地跟踪SQL查询的执行过程,以及了解其资源消耗、等待事件和执行计划等关键指标。         在当今

    2024年02月16日
    浏览(44)
  • 【数据库】日常使用PL/SQL 登录ORACLE 数据库查询数据

    一、PL/SQL 登录方式 username: ##访问数据库的账号 password: ##访问数据库的密码 Databse: ##数据库IP地址/实例名 数据库集群心跳地址/实例名 Connect as : ##Normal,如果使用sysdba账户登录选择SYSDBA 二、PL/SQL使用SQL语句查询 点击上方导航栏,New,选择SQL Window,即可再次输入要查询的

    2024年02月19日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包