本文簡單介紹oracle常用指令碼 script
1、檢視當前所有物件
sql> select * from tab;
2、建乙個和a表結構一樣的空表
sql> create table b as select * from a where 1=2;
sql> create table b(b1,b2,b3) as select a1,a2,a3 from a where 1=2;
3、察看資料庫的大小,和空間使用情況
sql> col tablespace format a20 sql> select b.file_id檔案id, b.tablespace_name 表空間, b.file_name 物理檔名, b.bytes 總位元組數, (b.bytes-sum(nvl(a.bytes,0))) 已使用, sum(nvl(a.bytes,0)) 剩餘, sum(nvl(a.bytes,0))/(b.bytes)*100 剩餘百分比 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.file_id,b.bytes order by b.tablespace_name / dba_free_space --表空間剩餘空間狀況 dba_data_files --資料檔案空間占用情況
4、檢視現有回滾段及其狀態
sql> col segment format a30 sql> select segment_name,owner,tablespace_name,segment_id,file_id,status from dba_rollback_segs;
5、檢視資料檔案放置的路徑
sql> col file_name format a50 sql> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;
6、顯示當前連線使用者
sql> show user
7、把sql*plus當計算器
sql> select 100*20 from dual;
8、連線字串
sql> select 列1||列2 from 表1; sql> select concat(列1,列2) from 表1;
9、查詢當前日期
sql> select to_char(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual;
10、使用者間複製資料
sql> copy from user1 to user2 create table2 using select * from table1;
11、檢視中不能使用order by,但可用group by代替來達到排序目的
sql> create view a as select b1,b2 from b group by b1,b2;
12、通過授權的方式來建立使用者
sql> grant connect,resource to test identified by test;
sql> conn test/test
Oracle 常用指令碼
查詢當前連線數 select count from v session select username,machine,program,status,count machine as 連線數量 from v session where username cotsdev group by userna...
oracle 常用指令碼
substr 取得字串中指定起始位置和長度的字串 instr 判斷其是否含有指定的字元 replace 替換字元 create table table 1 as select from table 2 where 1 0 建表只複製表結構 表新增預設值 alter table table 1 mod...
ORACLE 常用指令碼
ifelse declare v num number begin v num 100 if v num 100 then elsif v num 50 then else end if end 帶引數儲存過程 create or replace procedure delete subscribe...