转到正文

天亮了说晚安's Blog

欢迎您的光临! http://www.tllswa.com

存档

分类: 数据库相关

本文转自:https://blog.csdn.net/qq_38861740/article/details/125526920 报错ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务,第一种是在你安装完之后未配置监听; 第二种是之前配置了监听但是系统未写入到listener.ora文件中,所以只需要在该文件中写入配置参数就可以了。 解决方法修改listener.ora文件,把一下内容填写到SID_LIST节点下 (SID_DESC =(GLOBAL_DBNAME = orcl1)(ORACLE_HOME = H:\oracle\product\10.2.0\db_1)(SID_NAME = orcl_1))例如 SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = H:\oracle\product\10.2.0\db_1)(PROGRAM = extproc)(ENVS = “EXTPROC_DLLS=ONLY:H:\oracle\product\10.2.0\db_1\bin\oraclr11.dll”))(SID_DESC =(GLOBAL_DBNAME = orcl1)(ORACLE_HOME = H:\oracle\product\10.2.0\db_1)(SID_NAME = orcl_1) )) Read More

本文转自:https://blog.csdn.net/yiyuanzhijia/article/details/122831711 一.ROUND函数1.功能说明:ROUND 函数用于把数值字段舍入为指定的小数位数 2.语法:SELECT ROUND(column_name,decimals) FROM table_name 3.参数说明: ① column_name:必需。要舍入的字段。 ② decimals:必需。规定要返回的小数位数。 二.FLOOR函数1.功能说明:FLOOR 函数用于把数值字段向下取整数 2.语法:SELECT FLOOR(column_name) FROM table_name 3.参数说明: ① column_name:必需。要向下取整的字段。 三.CEILING函数1.功能说明:CEILING函数用于把数值字段向上取整 2.语法:SELECT CEILING(column_name) FROM table_name 3.参数说明: ① column_name:必需。要向上取整的字段。 Read More

本文转自:http://blog.itpub.net/28939273/viewspace-1061476/ [root@yoon ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit ProductionPL/SQL Release 11.2.0.3.0 – ProductionCORE 11.2.0.3.0 ProductionTNS for Linux: Version 11.2.0.3.0 – ProductionNLSRTL Version 11.2.0.3.0 – Production 1.查看数据文件的存储路径: SQL> select name from v$datafile; NAME——————————————————————————–/u01/oracle/oradata/yoon/system01.dbf/u01/oracle/oradata/yoon/sysaux01.dbf/u01/oracle/oradata/yoon/undotbs01.dbf/u01/oracle/oradata/yoon/users01.dbf 2.修改表空间为offline: SQL> alter tablespace users offline; Tablespace altered. 3.拷贝数据文件 [oracle@yoon yoon]$ cp users01.dbf /u01/oracle/oradata/yoondata/ 4.修改表空间存......Read More

本文转自:https://www.jb51.net/article/127923.htm 表空间概述 Oracle的表空间属于Oracle中的存储结构,是一种用于存储数据库对象(如:数据文件)的逻辑空间,是Oracle中信息存储的最大逻辑单元,其下还包含有段、区、数据块等逻辑数据类型。表空间是在数据库中开辟的一个空间,用于存放数据库的对象,一个数据库可以由多个表空间组成。可以通过表空间来实现对Oracle的调优。(Oracle数据库独特的高级应用) 表空间的分类 永久表空间:存储数据库中需要永久化存储的对象,比如二维表、视图、存储过程、索引。 临时表空间:存储数据库的中间执行过程,如:保存order by数据库排序,分组时产生的临时数据。操作完成后存储的内容会被自动释放。临时表空间是通用的,所的用户都使用TEMP作为临时表空间。一般只有tmp一个临时表空间,如果还需要别的临时表空间时,可以自己创建。 UNDO表空间:保存数据修改前的副本。存储事务所修改的旧址,即被修改之前的数据。当我们对一张表中的数据进行修改的同时会对修改之前的信息进行保存,为了对数据执行回滚、恢复、撤销的操作。 引言 Oracle数据库的数据文件的位置和信息都被记录在控制文件中,rm或cp命令是......Read More

本文转自:https://blog.csdn.net/shuaishuai1234/article/details/84870700 1.查看所有表,每张表占用大小(单位是Byte)select segment_name, bytesfrom user_segmentswhere segment_type = ‘TABLE’; 2.查看其中几张表大小需要再加判断条件:segment_name–表名 select round(sum(bytes)/1024/1024/1024,4) GBfrom user_segmentswhere segment_type = ‘TABLE’ and lower(segment_name) in (‘cic_accident_insurance’,‘cic_apply_base’,‘cic_policy_base’,‘cic_policy_detail_info’,‘cic_policy_info’,‘crm_agency_user’,‘crm_customer_info’,‘crm_order_query’,‘prprinsured’,‘renewalpolicy’) ; 此处换算成了GB,并且只是查了重点的几张表,数据库名字也转换成小写查询 还有一些查询需要DBA权限,诸如表空间大小等等 查看所有表的数据量并排序select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC;还可以直接查看dblink的:select t.table_name,t.num_rows from user_tables@dblink t ORDER BY NUM_ROWS DESC; 参考链接:https://www.cnblogs.com/pejsidney/p/8057372.htmlhttps://www.cnblogs.co......Read More

本文转自:https://www.cnblogs.com/pejsidney/p/8057372.html 有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:select segment_name, bytes from user_segments where segment_type = ‘TABLE’; 或者   Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name另一种表实际使用的空间。这样查询:analyze table emp compute statistics; select num_rows * avg_row_len from user_tables where table_name = ‘EMP’;查看每个表空间的大小Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name1.查看剩余表空间大小 SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M FROM dba_free_space GROUP BY tablespace_name; 2.检查系统中所有表空间总体空间select b.name,sum(a.bytes/1000000)总空间 from v$datafile a,v$tablespace b where a.ts#=b.ts# group by b.name;   1、查看Oracle数据库中表空间信息的工具方法:   使用oracle enterpr......Read More

本文转自:https://www.cnblogs.com/huak/p/3443352.html 1,连上服务器,使用top命令,可以查看cpu使用率以及内存的使用情况等等,还有当前各用户的使用情况 2,用pl/sql developper,tool里面选sessions,就可以看到当前session的情况,包括卡住的SQL语句 3,查看各用户的各种资源占用,可以运行下面的SQL select se.SID, ses.username, ses.osuser, n.NAME, se.VALUE  from v$statname n, v$sesstat se, v$session ses  where n.statistic# = se.statistic# and        se.sid = ses.sid and        ses.username is not null and        n.name in (‘CPU used by this session’,                   ‘db block gets’,                   ‘consistent gets’,      &nbs......Read More

本文转自:https://blog.csdn.net/helloxiaozhe/article/details/82729554 相同点 TRUNCATE TABLE和DELETE都可以删除整个数据库表的记录 不同点 DELETEDML语言可以回退可以有条件的删除DELETE FROM 表名 WHERE 条件TRUNCATE TABLEDDL语言无法回退默认所有的表内容都删除删除速度比delete快TRUNCATE TABLE 表名DROP TABLE用于删除表(表的结构、属性以及索引也会被删除);DROP TABLE 表名 原理 DDL(Data Definition Language)数据定义语言,DML(Data Manipulation Language)数据操作语言。 TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而TRUNCATE则不会被撤销。TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比Delete操作后的表要快得多。TRUNCATE不能触发任何Delete触发器。当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。不能清空父表。 优化 在数据库里,使用delete删除数据以后,数据库的存储容量不会减少,而且使用d......Read More

本文转自: https://www.cnblogs.com/liupeng61624/p/6110294.html SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种: --- 删除原表数据,并重置自增列 truncate table tablename --truncate方式也可以重置自增字段 --重置表的自增字段,保留数据 DBCC CHECKIDENT (tablename,reseed,0) -- 设置允许显式插入自增列 SET IDENTITY_INSERT tablename ON -- 当然插入完毕记得要设置不允许显式插入自增列 SET IDENTITY_INSERT tablename Off Read More