Oracle常用指令碼 Script

2021-04-18 13:36:52 字數 1591 閱讀 3838

本文簡單介紹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...