ORACLE常用命令整理

2021-06-06 01:07:07 字數 4977 閱讀 7104

一、建立、刪除、修改、新增

建立表空間:

create  tablespace finchinafcdd

datafile '\oracle\product\10.2.0\oradata\orcl\finchinafcdd.dbf'

size 50m

autoextend on

next 100m maxsize 2000m(unlimited)

logging

extent management local

uniform size 128k       #指定區尺寸為128k,如不指定,區尺寸預設為64k

segment space management auto;

刪除表空間

drop tablespace finchinafcdd including contents and datafiles;

更改表空間表名

alter tablespace finchinafcdd rename to newfinchinafcdd;

建立 使用者 :

create user finchina identified by password

default tablespace finchinafcdd;

account unlock

使用者授予/刪除許可權:

grant connect,resource,dba,unlimited tablespace to finchina;

revoke connect,resource,dba,unlimited tablespace from finchina;

更改使用者預設表空間:

alter user finchina default tablespace finchinafcdd;

刪除使用者:

drop user finchina cascade;

設定表空間無限配額:

alter user test quota unlimited on finchinafcdd;

設定使用者對其他system表空間的配額為0:

alter user test quota 0 on system

移動表至另一表空間

alter table tbname move tablespace finchinafcdd

增加資料檔案

alter tablespace test

add datafile 'd:\oracle\product\10.2.0\oradatatest02.dbf' size 1000m;

手動增加資料檔案尺寸

alter database datafile 'd:\oracle\product\10.2.0\oradatatest.dbf'

resize 4000m;

設定資料檔案自動擴充套件

alter database datafile 'd:\oracle\product\10.2.0\oradatatest.dbf

autoextend on

next 100m maxsize unlimited;

新增單列:

alter table 表名 add 列名 資料型別

新增多列:

alter table 表名 add ( 列名1 資料型別1,列名2 資料型別2)

修改單列資料型別:

alter table 表名 modify 列名 資料型別

同時修改多列資料型別:

alter table 表名 modify ( 列名1 資料型別1,列名2 資料型別2)

刪除單列:

alter table 表名 drop column 列名

刪除多列:

alter table 表名 drop (列名1,列名2)

同時新增和修改多列:

alter table 表名 add ( 列名1 資料型別1,列名2 資料型別2) modify ( 列名3 資料型別3,列名4 資料型別4)

二、資料查詢

desc table 表名;                                   #檢視表結構

select *( table_name) from user_tables;                 #查詢當前使用者所有*/表

select username,default_tablespace from dba_users;  #查詢表空間

select * from user_users;     #查詢當前使用者預設表空間

select *( tablespace_name) from user_tablespaces;   #查詢所有使用者*/表空間

select * from all_users                                          #查詢所有使用者

describe  表名

select * from v$version;                                              #查詢oracle版本

select userenv('language') from dual

select * from v$nls_parameters;                                 #查詢oracle編碼

select * from session_privs;                                      #檢視使用者所具有的系統許可權

select * from user_role_privs;                                 #檢視使用者所擁有的角色:

select * from role_sys_privs;                                    #檢視角色所擁有的許可權

desc table 表名;                                   #檢視表結構

select *( table_name) from user_tables;                 #查詢當前使用者所有*/表

select username,default_tablespace from dba_users;  #查詢表空間

select * from user_users; #查詢當前使用者預設表空間

select *( tablespace_name) from user_tablespaces; #查詢所有使用者*/表空間

select * from all_users                                           #查詢所有使用者

describe  表名

select * from v$version;                                               #查詢oracle版本

select userenv('language') from dual                       #查詢oracle編碼

select * from v$nls_parameters;

select * from session_privs;                             #檢視使用者所具有的系統許可權

select * from user_role_privs;                          #檢視使用者所擁有的角色:

select * from role_sys_privs;                            #檢視角色所擁有的許可權

gbk**集下:乙個中文佔2個位元組;utf-8**集下:乙個中文佔3個位元組。

乙個英文本元對應於乙個位元組,而乙個中文字元則可能對應於兩個位元組。總之,位元組與字元不是一一對應的

datalength:返回任何表示式所占用的位元組數。 對 varchar、varbinary、text、image、nvarchar 和 ntext 資料型別特別有用,因為這些資料型別可以儲存

可變長度資料。

以下示例查詢 publishers 表中 pub_name 列的長度。

use pubs

goselect length = datalength(pub_name), pub_name

from publishers

order by pub_name

go三、資料匯出、匯入

資料匯出:

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:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)

4 將資料庫中的表table1中的字段filed1以"00"打頭的資料匯出

exp system/manager@test file=d:daochu.dmp tables=(table1) query=\"where tdate注:當不匯出行,不匯出資料時用引數row=n,當匯出含有多個條件的語句時用用」/  /」包含

資料匯入

1:將d:daochu.dmp 中的資料匯入 test資料庫中。

imp system/manager@test file=d:daochu.dmp

imp aichannel/aichannel@hust full=y file=d:datanewsmgnt.dmp ignore=y

2:將d:daochu.dmp中的表table1 匯入

imp system/manager@test file=d:daochu.dmp tables=(table1)

Oracle 常用命令整理

一 操作使用者 1 建立 刪除使用者 首先登入到 system 管理員使用者,如下 開啟cmd,輸入以下 並回車 sqlplus nolog再次輸入以下 並回車 connect as sysdba此時,oracle 登入到 system 使用者,擁有 oracle 伺服器管理員許可權。1 建立使用者...

Oracle 常用命令

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 whe...

oracle常用命令

create insert delete select 建立使用者必須在sys超級管理員下 連線到超級管理員 conn sys as sysdba sys zhuangyan system zhuangyan scott tiger 查出所有 clerk 辦事員 的姓名及其部門名稱,部門的人數.找出...