ORACLE常用基础

news2024/11/23 19:07:53

.

1.oracle开机启动流程
su - oracle
lsnrctl start
lsnrctl status
sqlplus / as sysdba
startup

2、如何查看数据库版本

select * from v$version; 

 

3.如何查看用户从那个设备连接的数据库

SELECT DISTINCT  machine , terminal FROM V$SESSION; 

4.如何查看表结构

select * from all_tables where table_name like '%' 
select * from all_tab_columns where table_name='table_name' 

select * from all_tables where table_name like '%YZH_ORACLE' 
select * from all_tab_columns where table_name='YZH_ORACLE' 

 5.如何查看最大会话数

SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%'; 

show parameter processes;

 

 数据库记录中曾经最大会话数

select * from v$license; 

6.如何查询事务被锁时间

select * from v$locked_object ; 

 7.如何查询那些用户正在使用数据库

select username from v$session; 

8.如何查得数据库的SID、以及是否归档

select * from v$database; 

 9.如何查询用户权限

SELECT * FROM DBA_SYS_PRIVS; 

10.如何查询被锁对象

select *from V$LOCKED_OBJECT
select *from V$SESSION

 11.如何生成随机数

select DBMS_RANDOM.RANDOM  from dual;

12.查询当前用户对象

SELECT * FROM USER_OBJECTS; 

SELECT * FROM DBA_SEGMENTS; 

13.如何获取错误信息

SELECT * FROM USER_ERRORS; 

14.如何获取链接状况

SELECT * FROM DBA_DB_LINKS; 

15.如何查看数据库字符状况

SELECT * FROM NLS_DATABASE_PARAMETERS; 
SELECT * FROM V$NLS_PARAMETERS; 

 

16.如何查询表空间信息

SELECT * FROM DBA_DATA_FILES; 

 

17.如何给表、列加注释

comment on table STUDENT is '学生信息表';  --comment on table 表 is '表注释'; 

comment on column 表.列 is '列注释'; --comment on column 表.列 is '列注释'; 


 18.如何查看各个表空间占用磁盘情况

select b.file_id 文件ID号,
       b.tablespace_name 表空间名,
       b.bytes 字节数,
       (b.bytes - sum(nvl(a.bytes, 0))) 已使用,
       sum(nvl(a.bytes, 0)) 剩余空间,
       sum(nvl(a.bytes, 0)) / (b.bytes) * 100 剩余百分比
  from dba_free_space a, dba_data_files b
 where a.file_id = b.file_id
 group by b.tablespace_name, b.file_id, b.bytes
 order by b.file_id

 

19. 如何才能得知系统当前的SCN号

select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;

 20. 如何在字符串里加回车

select 'Welcome to visit'||chr(10)||'www.liuxiaobin.NET' from dual ; 

21. 如何修改oracel数据库的默认日期

select sysdate from dual;
alter session set nls_date_format='yyyymmddhh24miss'; 

22.如何使select语句使查询结果自动生成序号

select rownum,2 from dual;  --select rownum,COL_name from table_name; 

 23.如何知道数据库中某个表所在的tablespace?


--select tablespace_name from user_tables where table_name='表名'; 
select tablespace_name from user_tables where table_name='STUDENT';   

 24.如何快速做一个和原表一样的备份表?

--create table new_table as (select * from old_table);
create table BSYEARnew as (select * from BSYEAR);

 25.如何查看数据库的状态

ps -ef | grep ora 

26.如何查看表空间数据文件位置

select t1.name, t2.name
  from v$tablespace t1
inner join v$datafile t2
    on t1.ts# = t2.ts#;

 

26.如何修改表空间数据文件大小 

   alter database datafile '/opt/oracle/oradata/ORCLCDB/YZH.dbf' resize 300M;

 27.如何查看ORACLE中有哪些程序在运行之中

select *from v$session;

28.如何看数据库有多少个tablespace

select * from dba_tablespaces; 

29.查询SPFILE文件路劲

show parameter spfile;

30.如何查看哪些用户拥有SYSDBA、SYSOPER权限

select * from V_$PWFILE_USERS; 

 31.如何单独备份一个或多个表

方案1

--备份create table table_new as select * from table_old;
--恢复truncate table org_group;
--insert into org_group select * from table_new ;
create table "C##ROOTUSER".BSYEARNEWG as select * from "C##ROOTUSER".BSYEARNEW;

truncate table "C##ROOTUSER".BSYEARNEW;

insert into "C##ROOTUSER".BSYEARNEW select * from "C##ROOTUSER".BSYEARNEWG ;

32.查询一下当前用户下的所有空表

select table_name from user_tables where NUM_ROWS=0;
select 'alter table '||table_name||' allocate extent;' from user_tables  where num_rows=0

33.如何显示当前连接用户

SHOW USER 

34.如何查看数据文件放置的路径

select tablespace_name, file_id, bytes / 1024 / 1024, file_name
  from dba_data_files
 order by file_id;

 35.如何查看现有回滚段及其状态

SELECT SEGMENT_NAME, TABLESPACE_NAME, SEGMENT_ID, FILE_ID, STATUS
  FROM DBA_ROLLBACK_SEGS

36、Oracle常用视图

A、DBA视图

(1)指定表空间的数据文件及所在的路径

select * from dba_data_files;
 

(2)指定表空间的剩余空间

select * from dba_free_space 

 

(3)找出当前数据库实例中的所有用户

select * from dba_users 

 

(4)找出当前数据库实例中的所有对象的物理信息

select * from dba_segments 

(5)指定所有表对应的列名

select * from dba_tab_columns 

(6)指定所有列的注释信息

 
select * from dba_col_comments 

(7)列出所有的表空间及相关信息

select * from dba_tablespaces

(8) 所有表分区的信息

select * from dba_tab_partitions 

(9)显示所有的有索引的列

select * from dba_ind_columns 

 

(10)显示所有的索引信息

select * from dba_indexes 

(11)显示所有的job信息

select * from dba_jobs 
select * from dba_jobs_running

B、V$视图

(1)查看当前进程信息

select * from v$PROCESS

(2)查看当前锁信息

select * from v$lock

(3)查看当前会话信息

select * from v$session

(4)数据库的基本信息

select * from v$database

(5)数据文件信息

select * from v$datafile

(6)日志文件信息

select * from v$logfile 

 

(7)控制文件信息

select * from v$controlfile

(8)参数信息

select * from v$parameter; 

(9)查备份以及恢复

select *from V$BACKUP_SYNC_IO
select *from V$BACKUP_ASYNC_IO

(10)查询数据库坏块

select *from V$DATABASE_BLOCK_CORRUPTION

(11)查询那个事务在使用回滚段

select *from V$TRANSACTION

(12)当前实例中undo空间以及事务如何运行。并统计undo空间开销,事务开销以及实例可用的查询长度

select *from V$UNDOSTAT

(13)实列信息

SELECT * FROM V$INSTANCE;

 

37.如何快速清空一个大表

--truncate table table_name; 
truncate table "C##ROOTUSER".YZH_ORACLE; 

38、如何查询数据库有多少表?

select * from all_tables; 

39、 如何测试SQL语句执行所用的时间?

SET TIMING ON;

-- 在这里执行你的SQL语句
select * from tablename; 
SET TIMING OFF;
 40.CHR()的反函数是?
SELECT CHR(65) FROM DUAL; 

SELECT ASCII('A') FROM DUAL; 

41.字符串的连接

--SELECT CONCAT(COL1,COL2) FROM TABLE ; 

--SELECT COL1||COL2 FROM TABLE ;
SELECT OWNER||OBJECT_NAME FROM TEST t  ;  

42、怎么把select出来的结果导到一个文本文件中

--https://blog.csdn.net/zxljsbk/article/details/103478915/
spool /tmp/sqlplus.output.txt
      select * from dual;
spool off  --(只有关闭输出,才会在输出文件中看到输出的内容)

43、 怎样估算SQL执行的I/O数

SQL>SET AUTOTRACE ON ; 

SQL>SELECT * FROM TABLE_name; 

SQL>SELECT * FROM v$filestat; 
44.如何在sqlplus下改变字段大小
--改大行,改小不行(除非都是空的).
--alter table table_name modify (field_name varchar2(100));

alter table "C##ROOTUSER".STUDENTNEW modify (SNAME varchar2(100));



 

45、sql 语句如何插入全年日期?

create table BSYEAR (d date); 
insert into BSYEAR 
select to_date('20230101','yyyymmdd')+rownum-1 
from all_objects 
where rownum <= to_char(to_date('20231231','yyyymmdd'),'ddd'); 

select *from BSYEAR
 

46、 如果修改表名

 
--alter table old_table_name rename to new_table_name; 

alter table BSYEAR rename to newBSYEAR; 

 

47、 如何统计两个表的记录总数?


--select (select count(id) from aa)+(select count(id) from bb) 总数 from dual; 



select (select count(OWNER) from "C##ROOTUSER".TEST)+(select count(IDS) from "C##ROOTUSER".USERINFO) 总数 from dual; 

48.怎样用Sql语句实现查找一列中第N大值
--方法一
create table test_max(id number, value number);
insert into test_max values(1,12);
insert into test_max values(2,100);
insert into test_max values(3,55);
insert into test_max values(4,100);
insert into test_max values(5,50);
commit;
select t.*, rowid from test_max t;
select t.* from (select t.*, rank() over(order by value desc) rk from test_max t) t where rk = 1;

49.如何在给现有的日期加上2年

select add_months(sysdate,24) from dual; 

 

50. 返回当前月的最后一天

--方法一
SELECT TRUNC(ADD_MONTHS(SYSDATE, 1), 'MONTH') - 1 AS "The Last Day of this month" FROM dual;
--方法二
select sysdate 当前日期,last_day(sysdate) 最后一天日期 from dual 

51.获取每个月最后一个工作日的ORACLE SQL查询

SELECT 
    to_char(last_day(add_months(SYSDATE,LEVEL-12)),'YYYY-MM-DD') AS Last_Workday_In_Month
FROM 
    dual 
WHERE 
    to_char(last_day(add_months(SYSDATE,LEVEL-12)),'D') NOT IN (1,7)
CONNECT BY 
    LEVEL <= 12;

 52.当前日期的月份第一天

 select trunc(sysdate,'MM') from dual;

53.当前日期的年份第一天

  
select trunc(sysdate,'y') FROM DUAL;
select trunc(sysdate,'yy') FROM DUAL;
select trunc(sysdate,'yyy') FROM DUAL;
select trunc(sysdate,'yyyy') FROM DUAL;
  

54. 如何找数据库表的主键字段的名称

SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='TABLE_NAME';

55.取时间点的年份的写法

--取时间点的年份的写法
SELECT TO_CHAR(sysdate,'YYYY') FROM DUAL;  
--取时间点的月份的写法
SELECT TO_CHAR(sysdate,'mm') FROM DUAL; 
--取时间点的日的写法
SELECT TO_CHAR(sysdate,'DD') FROM DUAL; 
--取时间点的时的写法
SELECT TO_CHAR(sysdate,'HH24') FROM DUAL;
--取时间点的分的写法
SELECT TO_CHAR(sysdate,'MI') FROM DUAL; 
--取时间点的秒的写法
SELECT TO_CHAR(sysdate,'SS') FROM DUAL; 
--取时间点的日期的写法
SELECT TRUNC(sysdate) FROM DUAL;
--取时间点的时间的写法
SELECT TO_CHAR(sysdate,'HH24:MI:SS') FROM DUAL;
--返回参数的星期几的写法:
SELECT TO_CHAR(sysdate,'D') FROM DUAL; 
--返回参数一年中的第几天的写法
SELECT TO_CHAR(sysdate,'DDD') FROM DUAL; 

--返回参数中一年的第几周的写法
SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL;

56.ROWID

SELECT ROWID,IDS, ACTIVITY_NAME, INTRACTIVE_TYPE, EMAIL, MOBILE, USERAGENT, EMAIL_TITLE, LABEL, CATEGORY1, "TIME", TIME1
FROM "C##ROOTUSER".USERINFO  WHERE ids=10000425;
 

57.Oracle中时分秒数据格式转换技巧

--假设有一个名为“TEST”表,其中包含一个名为“DATETIME”的字段,其数据类型为TIMESTAMP。假设数据已存---储在表中,我们需要将时间戳数据格式转换为不同的格式。

--以下是一些代码示例:

–-转换为字符型格式:
SELECT TO_CHAR(SYSDATE , 'YYYY-MM-DD HH24:MI:SS') FROM dual;
SELECT TO_DATE(TO_CHAR(SYSDATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') FROM dual;
SELECT TO_CHAR(SYSDATE , 'YYYY-MM-DD HH:MI:SS AM') FROM DUAL ;
SELECT CAST(SYSDATE AS TIMESTAMP) FROM DUAL ;

58.如何查询做比较大的排序的进程

SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#, 
a.username, a.osuser, a.status 
FROM v$session a,v$sort_usage b 
WHERE a.saddr = b.session_addr 
ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks ; 

 59.如何查找重复记录

SELECT * FROM TABLE_NAME 
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D 
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2); 

60.如何删除重复记录?

DELETE FROM TABLE_NAME 
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D 
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2); 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/845824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【严重】Apache Airflow Run Task 权限绕过漏洞

漏洞描述 Airflow 是一个开源的工作流自动化平台&#xff0c;它允许用户定义、调度和监视工作流任务的执行。Run Task 是通过 Airflow 的 Web 界面或命令行工具。 在 Airflow 受影响版本中&#xff0c;Run Task 功能允许用户手动触发执行特定的任务&#xff0c;而不受正常的任…

CASAIM与迈普医学合作,基于CT数据三维重建和设计,在医疗辅具研究开发中实现高精度三维建模和偏差比对

近期&#xff0c;CASAIM与广州迈普再生医学科技股份有限公司&#xff08;简称&#xff1a;迈普医学&#xff09;合作&#xff0c;基于CT数据三维重建和设计&#xff0c;在医疗辅具研究开发中实现高精度三维建模和偏差比对&#xff0c;实现与缺损区域的精确匹配。 迈普医学&…

全新二开美化版UI好看的社区源码下载/反编译版

2023全新二开美化版UI精美的社区源码下载/反编译版 之前我分享过Rule原版&#xff0c;相信大家已经有很多人搭建好了。这次我要分享的是RuleAPP的二开美化版&#xff08;请尊重每个作者的版权&#xff09;&#xff0c;这个版本没有加密&#xff0c;可以进行反编译&#xff0c;…

C#实现SqlServer数据库同步

实现效果&#xff1a; 设计思路&#xff1a; 1. 开启数据库及表的cdc&#xff0c;定时查询cdc表数据&#xff0c;封装sql语句(通过执行类型&#xff0c;主键;修改类型的cdc数据只取最后更新的记录)&#xff0c;添加到离线数据表&#xff1b; 2. 线程定时查询离线数据表&#xf…

访问器模式(C++)

定义 表示一个作用于某对象结构中的各元素的操作。使得可以在不改变(稳定)各元素的类的前提下定义(扩展)作用于这些元素的新操作(变化)。 应用场景 在软件构建过程中&#xff0c;由于需求的改变&#xff0c;某些类层次结构中常常需要增加新的行为(方法)&#xff0c;如果直接…

分布式理论之CAP与BASE

分布式理论之CAP与BASE 一、什么是CAP1. 一致性&#xff08;Consistency&#xff09;&#xff1a;2. 可用性&#xff08;Availability&#xff09;&#xff1a;3. 分区容错性&#xff08;Partition tolerance&#xff09;&#xff1a;4. CAP小结&#xff1a; 二、AP&CP如何…

通向架构师的道路之weblogic与apache的整合与调优

一、BEAWeblogic的历史 BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、 网络应用和数据库应 用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的 开发、集成、部署和管理之中。 BEA WebLogic Server拥有处理关键Web应…

气味传感器

本文将通过图文及视频的形式为各位介绍太阳诱电因应市场需求而开发的气味传感器产品。高浓度端采用QCM型&#xff0c;较低浓度端采用MEMS半导体型。另外还准备有FBAR型转换器。 太阳诱电为实现高灵敏度感应而开发了3款转换器。  高浓度端采用QCM型&#xff0c;较低浓度端采用…

python excel 操作

excel文件内容如下&#xff1a; 一、xlrd 读Excel 操作 1、打开Excel文件读取数据 filexlrd.open_workbook(filename)#文件名以及路径&#xff0c;如果路径或者文件名有中文给前面加一个 r 2、常用函数 &#xff08;1&#xff09;获取一个sheet工作表 table file.sheets(…

LeetCode 热题 100 JavaScript--234. 回文链表

function ListNode(val, next) {this.val val undefined ? 0 : val;this.next next undefined ? null : next; }var isPalindrome function (head) {if (!head || !head.next) {return true; }// 使用快慢指针法找到链表的中间节点let slow head;let fast head;while …

在win10上安装Docker desktop,并在docker中安装mysql

操作步骤: 安装docker 去 官网 下载安装软件;选择windows 2. 依次点击安装; 安装完成后无需登录,直接启动即可; 如果有提示需要更新wsl,执行以下命令更新: wsl --update wsl --status 查看状态 验证一下 适用命令:docker run hello-world 设置国内镜像 docker安装mysql…

Dockerfile部署golang,docker-compose

使用go镜像打包&#xff0c;运行在容器内 redis和mysql用外部的 项目目录结构 w1go项目&#xff1a; Dockerfile # 这种方式是docker项目加上 本地的mysql和redis环境 # go打包的容器 FROM golang:alpine AS builder# 为我们镜像设置一些必要的环境变量 ENV GO111MODULEon …

Apollo配置覆盖引发懒加载配置失效问题

背景 出现问题版本过低&#xff0c;最新版本可能已经做出调整&#xff0c;此文章只是记录 apollo-client.version 1.2.0 因为本地开发&#xff0c;想用测试环境的apollo&#xff0c;所以经常会出现本地覆盖测试环境的配置&#xff1b;一般我会新建一个local.properties来覆盖 …

Debian安装和使用Elasticsearch 8.9

命令行通过 .deb 包安装 Elasticsearch 创建一个新用户 adduser elastic --> rust # 添加sudo权限 # https://phoenixnap.com/kb/how-to-create-sudo-user-on-ubuntu usermod -aG sudo elastic groups elastic下载Elasticsearch v8.9.0 Debian 包 https://www.elastic.co/…

GATK BaseRecalibratorSpark 过程中因Too many open files终止

Error&#xff1a; GATK BaseRecalibratorSpark 过程中因Too many open files终止 执行命令&#xff1a; nohup time ./gatk --java-options "-Xmx16G" BaseRecalibratorSpark -R ../../alignment/hg38/hg38.fa -I ../../alignment/bam/P368T.sorted.markdup.bam …

【C++】C++文件操作-文本文件/二进制文件

0.前言 一、文本文件 1.写文件 代码 #include <iostream> using namespace std; #include <fstream> //头文件包含//************************************** //文本文件 写文件 void test01() {//1.包含文件 fstream//2.创建流对象ofstream ofs;//3.指导打开方式…

芒格之道——查理·芒格股东会讲话1987-2022

你越是认真生活&#xff0c;你的生活就会越美好&#xff01; 这里将读书过程划线的内容摘抄在这里&#xff0c;方便自己回顾。 书分为两部分&#xff0c;我先读了后半部分&#xff0c;而且是从后往前读&#xff0c;到了前半部分&#xff0c;我是从前往后读。书还挺贵&#xff…

使用反汇编工具IDA查看发生异常的汇编代码的上下文去辅助分析C++软件异常

目录 1、概述 2、如何使用IDA打开并查看二进制文件的汇编代码 3、在IDA中找到发生崩溃的那条汇编指令的位置 3.1、如何在IDA中找到发生异常的那条汇编指令 3.2、示例 4、阅读汇编代码上下文需要掌握一定的基础汇编知识 5、最后 VC常用功能开发汇总&#xff08;专栏文章列…

备战秋招011(20230807)

文章目录 前言一、今天学习了什么&#xff1f;二、算法----》单调栈1、介绍2、题目 总结 前言 提示&#xff1a;这里为每天自己的学习内容心情总结&#xff1b; Learn By Doing&#xff0c;Now or Never&#xff0c;Writing is organized thinking. 今天拿到了上周面试的结果…

选读SQL经典实例笔记19_Any和All

1. Any 1.1. 任意一个 1.2. 选修了任意一门课程的学生 1.2.1. 找出选修了至少一门课程的学生 1.3. 比任何火车都快的飞机 1.3.1. 找出比所有火车都快的飞机 2. All 2.1. 全部 2.2. 吃所有蔬菜的人 2.2.1. 没有任何一种蔬菜他们不吃 3. 问题12 3.1. 选修了全部课程的…