1. 程式人生 > 其它 >Oracle資料庫常用命令

Oracle資料庫常用命令

--查詢當前系統中的所有使用者  
select * from all_users

--查當前使用者下所有的表:  
select * from tab where tname not like '%$%'

--檢視當前使用者下所有的表(詳細資訊)
select * from user_tables

--查資料庫中所有的表
select * from all_tables

--建立一個使用者(進行這項操作的當前使用者必須擁有DBA許可權)
create user 使用者名稱 identified by 密碼

--建立表空間
create tablespace ts_mytest
logging
datafile 'f:oracle_xe_datafilemytest.dbf'
size 32m
autoextend on next 10m maxsize unlimited

--刪除表空間
drop tablespace hoteldata including contents and datafiles;

/*
使用者分三種類型
  sys;//系統管理員,擁有最高許可權
  system;//本地管理員,次高許可權
  scott;//普通使用者,密碼預設為tiger,預設未解鎖
    新建使用者未授權全部為普通使用者
*/

--刪除使用者(級聯)
drop user testuser cascade

--授予該使用者許可權(進行這項操作的當前使用者必須擁有DBA許可權)
grant connect, resource to 使用者名稱

--connect角色是授予終端使用者的典型權利,最基本的
  --修改會話
    alter session
  --建立會話
    create session
  --建立聚簇
    create cluster
  --建立資料庫連結
    create database link
  --建立序列
    create sequence
  --建立同義詞
    create synonym
  --建立檢視
    create view

--resource角色是授予開發人員的
  --建立聚簇
    create cluster
  --建立儲存過程
    create procedure
  --建立序列
    create sequence
  --建表
    create table
  --建立觸發器
    create trigger
  --建立型別
    create type 

--修改使用者口令格式 
alter user 使用者名稱 identified by 密碼

--鎖定 / 解鎖oracle使用者
alter user 使用者名稱 account unlock
alter user 使用者名稱 account lock

--更改表的結構:
alter table 表名 modify(name char(10))

--查詢所有使用者預設表空間 
select username, default_tablespace from dba_users

--檢視某一個使用者使用了哪些表和表空間
select t.table_name, t.tablespace_name from dba_all_tables t where t.owner='COLLEGE'

--查詢當前使用者連線  
select count(*) from v$session

--檢視當前使用者許可權  
select * from session_privs; 

--新增主鍵
alter table test add constraint pk_test primary key (userid);

--刪除主鍵
alter table 表名 drop constraint 主鍵名

--檢視當前資料庫所有使用者
select * from dba_users

--新增外來鍵
alter table 表2 add constraint 外來鍵名 foreign key(表2中需要建外來鍵的欄位) references 表1

--刪除外來鍵
alter table test2 drop constraint fk_test2

--查詢某個時間點的資料(可以用於恢復資料, 但是如果刪除表中資訊用的truncate, 就無法查詢了)
select * from t_person as of timestamp to_date('2017-04-21 21:30:00','yyyy-mm-dd hh24:mi:ss');