>>>oracle创建表,动态表名
begin
execute immediate 'create table a_bak_'||to_char(sysdate, 'yyyymmdd')||' as select * from a';
end;
/
>>>查dblink
select * from dba_db_links;
>>>查询索引
select index_name,column_name,table_name from USER_IND_COLUMNS where table_name ='T_table';
修改索引
alter index "oldname" rename to newname;
在plsql中修改索引,会报ORA-00953: 缺少或无效索引名,改用命令修改
>>>plsql查询表所有字段
打开一个SQLWindow窗口,选中要查询的table,拖到SQLWindow窗口,在弹出的列表中选中Select,然后就自动生成了select所有字段的查询语句
>>>ORA-01653: unable to extend table X by Y in tablespace
1.insert into table1 values(...) select (...) from table2:(会占用temp tablespace,如果table2数据很大,temp tablespace不够大的话,可能会报出上面的问题)
2.update table1 set is_deleted='Y':(因为在table1上建有物化视图,而这个视图要新增对应的物化视图的log表,由于这个log表对应的tablespace满了,导致上面的问题)
3.insert into table1 values(...):(最正常不过的insert语句,由于table1对应的tablespace满了,导致上面的问题)
查看表空间对应的datafile是否可以自动扩展(当然有些场景开启自动扩展功能可能会带来一些潜在的问题,所以不是所有的公司都开启这个)
SELECT file_id,
file_name,
tablespace_name,
autoextensible,
increment_by
FROM dba_data_files
WHERE tablespace_name = 'PSR_DATA'
ORDER BY file_id DESC;
查看表空间的使用情况
SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
FROM dba_free_space
GROUP BY tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;
>>>增加表空间大小的四种方法
Meathod1:给表空间增加数据文件
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
Meathod2:新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod3:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod4:手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
RESIZE 100M;
>>>创建表空间及用户
/*查看表空间物理文件的名称及大小*/
SELECT tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;
/*第1步:创建临时表空间 */
create temporary tablespace user_temp
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第2步:创建数据表空间 */
create tablespace user_data
logging
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第3步:创建用户并指定表空间 */
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
/*第4步:给用户授予权限 */
grant connect,resource,dba to username;
>>>Oracle中大批量删除数据的方法
create or replace procedure delBigTab(p_TableName in varchar2,
p_Condition in varchar2,
p_Count in varchar2) as
pragma autonomous_transaction;
n_delete number := 0;
begin
while 1 = 1 loop
EXECUTE IMMEDIATE 'delete from ' || p_TableName || ' where ' ||
p_Condition || ' and rownum <= :rn'
USING p_Count;
if SQL%NOTFOUND then
exit;
else
n_delete := n_delete + SQL%ROWCOUNT;
end if;
commit;
end loop;
commit;
DBMS_OUTPUT.PUT_LINE('Finished!');
DBMS_OUTPUT.PUT_LINE('Totally ' || to_char(n_delete) ||
' records deleted!');
end;
调用: exec delBigTab('TABLEname','substr(addTIME,1,7) = ''2015-01''','10000')
>>>distinct较慢时,可改为select /*+ parallel*/ distinct username from t_user;
牺牲资源提高效率。
>>>查看和修改oracle的游标数大小
show parameter open_cursors;
Oracle查看当前打开的游标数目
select count(*) from v$open_cursor;
修改Oracle最大游标数
alter system set open_cursors=1000 scope=both;
分享到:
相关推荐
oracle常用查询 问题+答案 觉得是初学 比较好的东西。
Oracle 常用查询语句 查看表空间使用、日志使用、数据字典、控制文件等信息查询、修改、维护;数据查询语句优化分析;数据导入导出等操作
Oracle常用的sql语句文件以及说明(doc、txt)文件 例如:analyze分析表、oracle 常用表和视图、Select Start with ... Connect by 分层次输出、SQL语句优化、函数的使用和说明。
oracle基本查询整理,每个都有具体的例子说明
一些常用到的在oracle中的sql语句,也是我在网上找到的,分享给大家
Oracle常用SQL查询语句,Oracle常用SQL查询语句,Oracle常用SQL查询语句
NULL 博文链接:https://wxz2832840.iteye.com/blog/975856
oracle 常用SQL查询,里面有丰富的SQL查询命令
oracle常用经典sql语句,查询经典语句集锦
Oracle查询语句大全,这个主要适合新人或者转数据库的人做字典型查询
oracle常用经典SQL查询,oracle常用经典SQL查询
Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句...
oracle常用经典sql查询
oracle常用经典sql查询 适合对Oracle学习感兴趣的同学
oracle常用经典SQL查询方案
oracle常用sql查询.pdf.rar
oracle常用系统表.oracle常用系统表.oracle常用系统表.oracle常用系统表.oracle常用系统表.oracle常用系统表.oracle常用系统表.