常用 oracle 操作语句

2017年8月7日
--创建表空间:
 create tablespace nfhadba datafile 'D:\app\NFHA-PC\oradata\nfha_blc5.DBF' size 100M;

--创建用户:
 create user sen identified by sen default tablespace nfhadba;

--用户授权:
 grant connect,resource,dba to sen;
 alter user sen account unlock;

--更改数据表大小
 ALTER DATABASE DATAFILE 'E:\app\Administrator\oradata\orcl\becrm.dbf' RESIZE 500M;

--删除用户
 drop user becrm cascade;

--增加表空间文件(在数据量超过32G时使用,增加表空间文件。)
 ALTER TABLESPACE hgdcm ADD DATAFILE 'E:\app\Administrator\oradata\orcl\hgdcm_2.dbf' SIZE 20000M;
 ALTER TABLESPACE hgdcm ADD DATAFILE 'E:\app\Administrator\oradata\orcl\hgdcm_3.dbf' SIZE 20000M;
 ALTER TABLESPACE hgdcm ADD DATAFILE 'E:\app\Administrator\oradata\orcl\hgdcm_4.dbf' SIZE 20000M;
 ALTER TABLESPACE hgdcm ADD DATAFILE 'E:\app\Administrator\oradata\orcl\hgdcm_5.dbf' SIZE 20000M;
 ALTER TABLESPACE hgdcm ADD DATAFILE 'E:\app\Administrator\oradata\orcl\hgdcm_6.dbf' SIZE 20000M;
 ALTER TABLESPACE hgdcm ADD DATAFILE 'E:\app\Administrator\oradata\orcl\hgdcm_7.dbf' SIZE 20000M;

--清空表delete可回退;效率低
 delete from “table”;
 --清空表truncate 不可回退;效率高
 truncate table hgbase;
 --删除表DROP
 DROP TABLE hgbase;



--给表里加字段
 alter table DB_HG_PRODUCTIONCAPACITY add (a01 varchar2(12) default '组织结构代码');

--删除序列
 DROP SEQUENCE seqzz;

--创建序列seqzz
 CREATE SEQUENCE seqzz
 MINVALUE 1
 MAXVALUE 9999
 START WITH 1
 INCREMENT BY 1
 CACHE 10
 CYCLE;

--使用一次序列
 SELECT seqzz.nextval FROM dual

跟新语句

update 表1 set SCORE=表2.SCORE
 from 表1 inner
 join 表2 on 表1.ID=表2.ID
 where 表1.ID in (select ID from 表2)

--查看表空间使用情况
 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;



--1、查看表空间的名称及大小
 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
 FROM dba_tablespaces t, dba_data_files d
 WHERE t.tablespace_name = d.tablespace_name
 GROUP BY t.tablespace_name;



--2、查看表空间物理文件的名称及大小

SELECT tablespace_name,
 file_id,
 file_name,
 round(bytes / (1024 * 1024), 0) total_space
 FROM dba_data_files
 ORDER BY tablespace_name;



--3、查看回滚段名称及大小

SELECT segment_name,
 tablespace_name,
 r.status,
 (initial_extent / 1024) initialextent,
 (next_extent / 1024) nextextent,
 max_extents,
 v.curext curextent
 FROM dba_rollback_segs r, v$rollstat v
 WHERE r.segment_id = v.usn(+)
 ORDER BY segment_name;



--4、查看控制文件

SELECT NAME FROM v$controlfile;



--5、查看日志文件

SELECT MEMBER FROM v$logfile;



--6、查看表空间的使用情况

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;



--7、查看数据库库对象
 SELECT owner, object_type, status, COUNT(*) count#
 FROM all_objects
 GROUP BY owner, object_type, status;



--8、查看数据库的版本
 SELECT version
 FROM product_component_version
 WHERE substr(product, 1, 6) = 'Oracle';

--9、查看数据库的创建日期和归档方式
 SELECT created, log_mode, log_mode FROM v$database;



--10 导出dmp 文件 exp hgdcm_1/hgdcm_1 file=d:\daochu6.dmp

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
 exp system/manager@TEST file=d:\daochu.dmp full=y

2 将数据库中system用户与sys用户的表导出
 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出
 exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)

--11 导入dmp文件
 数据的导入 imp system/manager file=d:\daochu.dmp full=y

1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
 imp system/manager file=d:\daochu.dmp
 imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp

ignore=y
 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
 在后面加上 ignore=y 就可以了。

2 将d:\daochu.dmp中的表table1 导入
 imp system/manager@TEST file=d:\daochu.dmp tables=(table1)



--设置是否输出监听LOG 日志
 1.设置log_status为off
 在cmd命令窗口下执行lsnrctl set log_status off命令,设置log_status为off。顾名思义,此时数据库不再记录监听日志。

 

没有评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注