天天看點

删除表空間 資料庫備份 建立使用者

1.徹底删除某個表空間下面的所有表 

方法1:

SELECT 'DROP TABLE '||TABLE_NAME||';'||'purge'  FROM user_tables WHERE TABLESPACE_NAME='TESTTBS';

得到的drop

select original_name,dropscn from recyclebin;--檢視資源回收筒裡面的表

purge recyclebin;--清空資源回收筒

flashback table tablename to before drop;--将表狀态變成drop前

drop table tablename purge;--側地删除某個表

select*from user_tables where tablespace_name='ETRTBS'--檢視etrtbs表空間下的所有表

方法2:

drop tablespace tablespacename including contents and datafiles cascade constraints;--删除表空間  然後手動删除資料檔案

create tablespace tablespacename datafile ' E:\oracle\product\10.2.0\oradata\ibn\ABSTBS.dbf' size 4096m autoextend on next 1024m;--建立表空間,指定資料檔案

select tablespace_name,sum(bytes)/1024/1024 from dba_data_files  group by tablespace_name;--檢視表空間的資料檔案大小

select tablespace_name,sum(bytes)/1024/1024 from dba_free_spacegroup by tablespace_name;--檢視表空間空閑的資料檔案大小

2.簡單的ORACLE備份

遠端邏輯備份資料庫

exp userid='sys/oracle141242@ibn  as sysdba' file=d:\fbackup.dmp log=dible  full=y

--将資料庫完全導出,在導入的時候可以通過設定formuser來恢複需要的資料(語句結尾不能加符号)

exp abs/abs@abshrp file=e:\backup\abs.dmp  owner=abs

--将資料庫中abs使用者下的所有對象導出

Imp abs/abs@ibn  file= e:\backup\backup.dmp fromuser=abs touser=abs

--将資料從datafile某個使用者中導入到本地資料庫中某個使用者下

Imp etr/abs@ibn  file= E:\backup\backup.dmp tables=(表名1,表名2,表名3...)

--将備份檔案中某些指定的表導入到本地庫對應的使用者下面

3.建立使用者

create user abs  --建立使用者名

  identified by "abs"--密碼

  default tablespace ABSTBS --預設表空間

  temporary tablespace TEMP --臨時表空間

  profile DEFAULT;

grant connect to abs;-- 授予建立的使用者權限

grant dba to abs;--授予dba權限

grant resource to abs; --授予使用者建立各種資源的權限,建表,存儲過程等

grant unlimited tablespace to abs;--可以在其他表空間随意建表

 oracle使用者等價于模式,是以删除使用者後,所有的對象,包括表、視圖、存儲過程等等等會全部被删除

4.某個使用者檢視别的使用者下面表沒有權限問題

執行存儲過程時,本使用者檢視别的使用者下面的表一般會提示表或視圖不存在.

得用如下方法授予權限

grant select, insert, update, delete on ETR_BRANCH to ABS;--授權ABS使用者有增删改查ETR_BRANCH表的權限

grant select on ETR_BRANCH to PUBLIC;--授權所有使用者有檢視ETR_BRANCH表的權限

GRANT delete ANY TABLE TO 存儲過程所在使用者  WITH ADMIN OPTION;

GRANT insert ANY TABLE TO 存儲過程所在使用者  WITH ADMIN OPTION;

GRANT select ANY TABLE TO 存儲過程所在使用者  WITH ADMIN OPTION;