首页 > 代码库 > oracle 操作积累
oracle 操作积累
--cmd导入导出数据库bmp文件
1.执行查询结果中的语句( select ‘alter table ‘||table_name||‘ allocate extent;‘ from user_tables where num_rows=0 )
2.然后再执行 cmd ==》 导入:imp admin/123456@luxisrmdb file=E:\DB\srm.dmp ignore=y full=y
导出: exp 用户名/密码@数据库名 file=D:\dmp\exp_sms20110224.dmp log=D:\dmp\exp_smsrun.log
参考:http://www.cnblogs.com/Jingkunliu/p/3298597.html
--创建表空间
1.create tablespace luxisrm datafile ‘E:\DB\OrcleTbSpece\LuXiSrm.ora‘ size 100m
2.二、通过PL/SQL Developer工具创建表空间
通过pl/sql登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口 ,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间
create tablespace TestDB
datafile ‘D:\oracle\Administrator\oradata\orcl\TestDB.dbf‘ size 10M
autoextend on next 1M maxsize unlimited logging
extent management local autoallocate
segment space management auto;
解释:
1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为10M
3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
4) 空间名称TestDB与 数据文件名称 TestDB.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF表示启动/停止自动扩展表空间
6) ALTER DATABSAE DATAFILE ‘D:\oracle\Administrator\oradata\orcl\TestDB.dbf ‘ resize 5M; //手动修改数据文件大小为5M
7) DROP TABLESPACE MOF_TEMP INCLUDING CONTENTS AND DATAFILES; //删除表空间
--删除表空间
alter tablespace luxisrm offline;
drop tablespace luxisrm including contents and datafiles;
-- 快速删除所有表数据
http://www.cnblogs.com/chinhr/archive/2011/11/14/2248221.html
-- 表空间不足处理
select b.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes / 1024 / 1024 大小M,
(b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,
substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率
from dba_free_space a, dba_data_files b
where a.file_id = b.file_id
group by b.tablespace_name, b.file_name, b.bytes
order by b.tablespace_name;
--更改表空间大小SQL:
alter tablespace srm add datafile ‘D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF‘ size 1000m;
--可用
alter database datafile ‘E:\DB\OrcleTbSpece\SRM.ORA‘ resize 500M;
---
--查看连接数
select count(*) from v$process
--查看充许链接数
select value from v$parameter where name=‘processes‘
--查看最大并发数
select * from v$license
--锁表查询SQL
SELECT object_name, machine, s.sid, s.serial#
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
--释放SESSION SQL:
--alter system kill session ‘sid, serial#‘;
ALTER system kill session ‘23, 31054‘;
----------修改表空间
alter table spaceOne.tablename move tablespace spaceTwo;
--1.修改表的空间
alter table a123 move tablespace BEIWEISRMTESTSPACES
--查询当前用户下的所有表
select ‘alter table ‘|| table_name ||‘ move tablespace tablespacename;‘ from user_tables;
--2.修改表的索引的空间
alter index SYS_C0046485 rebuild tablespace BEIWEISRMTESTSPACES
--查询当前用户下的所有索引
select ‘alter index ‘|| index_name ||‘ rebuild tablespace tablespacename;‘ from user_indexes;
oracle 操作积累