oracle sys as dba


====管理分区表====
1.添加分区(若已设置取值范围为MAXVALUE的分区,则会报ORA-14174分区界限必须调整为高于最后一个分区界限)
alter table test_part_tab add partition part_03 values less than '20121012' tablespace test_tabspace3;
2.拆分分区
alter table TEST_TAB1 split partition p3 at ('20121001000000') into (
partition P3
tablespace TEST1
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
),
partition P4
tablespace TEST2
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
))
update indexes;
3.合并分区,并重命名
alter table test_tab1 merge partitions p3,p4 into partition p5
tablespace TEST
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
)
update indexes;
alter table TEST_TAB1 rename partition P5 to P3;
4 查看分区情况
select * from v$session t1 ,v$sql t2
where t1.sql_id=t2.SQL_ID;
select PARTITION_NAME,BYTES/1024/1024
--sum(BYTES/1024/1024)
from user_segments
where segment_name like 'partition_name'
AND BYTES/1024/1024>1
ORDER BY PARTITION_NAME DESC
5 删除分区数据
alter table bi_logfile truncate partition p_20130127_23

====表空间操作====
1 查看剩余表空间
SELECT UPPER(F.TABLESPACE_NAME) AS "表空间名称",
ROUND(D.AVAILB_BYTES ,2) AS "表空间大小(G)",
ROUND(D.MAX_BYTES,2) AS "最终表空间大小(G)",
ROUND((D.AVAILB_BYTES - F.USED_BYTES),2) AS "已使用空间(G)",
TO_CHAR(ROUND((D.AVAILB_BYTES - F.USED_BYTES) / D.AVAILB_BYTES * 100,
2), '999.99') AS "使用比",
ROUND(F.USED_BYTES, 6) AS "空闲空间(G)",
F.MAX_BYTES AS "最大块(M)"
FROM (
SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024 * 1024), 6) USED_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024 * 1024), 6) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024), 6) AVAILB_BYTES,
ROUND(SUM(DECODE(DD.MAXBYTES, 0, DD.BYTES, DD.MAXBYTES))/(1024*1024*1024),6) MAX_BYTES
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC
2 新增表空间文件
su - oracle
sqlplus
sys as sysdba
ALTER TABLESPACE space_name ADD DATAFILE '/route/name.dbf' SIZE 100M;
alter database datafile '/route/name.dbf' autoextend on next 100m maxsize 30720m;


====DBLINK====
create database link TO_name
connect to dblink_name identified by 密码
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 端口))
)
(CONNECT_DATA =
(SERVICE_NAME = sevicename)
))';

====索引重建====
alter index PK_G_LOTTERY_RES_DETAIL_N rebuild;

=====其他======
1 备份
expdp 用户名/password directory=备份目录 exclude=statistics dumpfile=dum_name.dmp logfile=logfile.log parallel=2 tables=table_name
su - oracle
2 重启数据库
sqlplus "/as sysdba"
shutdown immediate
startup open
3 OS命令行重启监听
lsnrctl stop
lsnrctl start

4新建DBA用户

create user aa identified by aa default tablespace aa
create tablespace aa datafile '/s01/orabase/oradata/PROD1/aa.bdf' size 1000M autoextend on
next 100M;
select * from dba_data_files;
grant dba to aa

5

查看正在执行的sql
select a.program, b.spid, c.*
from v$session a, v$process b, v$sqlarea c
where a.paddr = b.addr
and a.sql_hash_value = c.hash_value
and a.username is not null; 

select s.SAMPLE_TIME,
s.SESSION_ID,
sq.SQL_TEXT,
sq.DISK_READS,
sq.BUFFER_GETS,
sq.CPU_TIME,
sq.ROWS_PROCESSED,
--sq.SQL_FULLTEXT,
sq.SQL_ID
from v$sql sq, v$active_session_history s
where s.SQL_ID = sq.SQL_ID
and s.machine='machineid'
order by s.SAMPLE_TIME desc

http://www.oracle.com/technetwork/java/javase/downloads/index.html
原文地址:https://www.cnblogs.com/ai464068163/p/3632387.html