Oracle建立表空間和使用者

2021-10-25 18:48:06 字數 3877 閱讀 9183

1、建立表空間:

格式: create temporary(臨時) tablespace 表空間名 logging datafile 『資料檔名』 size 表空間大小 autoextend on next 50m maxsize 20000m extent management local;

例:建立表空間名為data 大小 2000m 表是 資料檔名 包含全路徑

create tablespace data

logging datafile 『d:\oracle\oradata\data.dbf』 size 2000m

autoextend on

next 50m maxsize 20000m

extent management local;

查詢表空間

select * from user_tablespaces

2、建使用者:

格式: create user 使用者名稱 identified by 密碼 default tablespace 表空間表;

例:建立乙個使用者名為 test ,密碼為 test , 表空間為 data.

create user test identified by test default tablespace data ;

將使用者重新指定表空間

alter user username default tablespace userspace;

查詢使用者對應的表空間

select username,default_tablespace from dba_users;

修改密碼

alter user test identified by newtest

刪除使用者test

drop user test cascade;

–檢視當前使用者資訊

select * from user_users;

–檢視你能管理的所有使用者!

select * from all_users

3.給新使用者授權

–表示把 connect,resource,dba許可權授予test使用者

grant connect,resource,dba to test;

使用者只有查詢指定表的許可權

grant connect to 使用者名稱;

grant select on 表名 to 使用者名稱

–檢視使用者所擁有的角色

select * from user_role_privs;

dba:該角色具有資料庫所有的許可權。

connect:該角色具有連線資料庫的許可權,和create session的許可權一樣。

resource:該角色是應用程式開發角色。

角色其實就是一類許可權的分組,所以給使用者分配角色其實也是在給使用者分配許可權。在oracle中有三個比較常用的角色。對於一般不是很嚴格的系統可以授予開發使用者connect、resource角色許可權即可!

4.刪除表空間

drop tablespace tablespacename including contents and datafiles cascade constraints

5.建立表

create table teacher(

uuid number(10) primary key,

name varchar2(20) not null,

*** varchar2(2) default 『男』 check(*** in(『男』,『女』))

);–檢視表所屬的變空間

select table_name 表名 ,tablespace_name 所使用表空間 from user_tables;

6.備份 exp/imp用法

exp:

1.全庫備份 exp user/psw@orcl full=y file= ../database.dmp log=../database.log buffer=80960000

--不包括sys使用者 即資料字典沒有匯出

--如想匯出sys和system使用者物件和資料字典,則: exp \』/ as sysdba\』 owner=sys file=database.dmp buffer=80960000 —在伺服器本地匯出sys

2.使用者備份 exp user/psw@orcl owner=user file=database.dmp buffer=80960000 exp \』/ as sysdba\』 owner=user file=database.dmp

buffer=80960000

3.表備份 exp user/psw@orcl tables=tablename,class file=tablename.dmp buffer=80960000

4.表級別帶where條件的資料匯出 exp user/psw@orcl tables=tablename query=\」where id>\500\」 file=database.dmp buffer=80960000 ——linux平台 exp

user/psw@orcl tables=tablename query=』where id」>」500』

file=database.dmp buffer=80960000 —–windows平台

imp: 向下相容—–全庫資料》使用者》表》where條件的表 > 大於號 對映含義:包含的意思

1.全庫匯入 imp system/psw@orcl full=y file=database.bmp log=database.log buffer=80960000 ignore=y 注意不要造成資料重複

system使用者下的表不會被資料重複,只需注意手動建成的使用者的資料

2.利用全庫備份匯入乙個使用者 imp system/psw@orcl fromuser=user1 touser=user2 file=database.dmp log=data.log buffer=80960000 ignore=y

提前建好tom使用者和分配許可權 imp system/psw@orcl fromuser=user1 touser=user2

file=database.dmp log=data.log buffer=80960000 ignore=y

利用全庫備份匯入某乙個表 imp system/psw@orcl fromuser=user1 touser=user2

tables=tablename file=database.dmp log=database.log buffer=80960000

ignore=y — 全備匯入tom使用者下的mail表到jerry使用者下

3.利用使用者備份—-匯入使用者資料 imp user/psw@orcl file=database.dmp buffer=80960000 ignore=y; 前提使用者存在,許可權夠—匯入整個使用者

imp user/psw@orcl tables=tablename,c file=database.dmp

buffer=80960000 ignore=y; —匯入特定的表

4.利用where條件匯出的資料匯入 imp user/psw@orcl tables=tablename file=database.dmp buffer=80960000 ignore=y; —-直接匯入where篩選出來的行數

補充:1.提高匯入匯出速度 exp/imp匯入匯出加速—可加選項 direct=y (直接路徑匯出) 或者設定buffer size的大小 buffer=2000000 (資料緩衝)

2.資料庫物件有主外來鍵約束 這發生在將幾個包含表的dmp檔案分別匯入資料庫時,不符合主外來鍵約束, 資料便會匯入失敗;解決辦法: 先導入主表, 再匯入依存表

Oracle建立表空間和使用者

oracle建立表空間和使用者 sql view plain copy 建立表空間和使用者的步驟 使用者 建立 create user 使用者名稱 identified by 密碼 授權 grant create session to 使用者名稱 grant create table to 使用者名...

Oracle建立表空間和使用者

oracle建立表空間和使用者 sql view plain copy 建立表空間和使用者的步驟 使用者 建立 create user 使用者名稱 identified by 密碼 授權 grant create session to使用者名稱 grant create table to使用者名稱 ...

Oracle建立表空間和使用者

oracle建立表空間和使用者 sql view plain copy 建立表空間和使用者的步驟 使用者 建立 create user 使用者名稱 identified by 密碼 授權 grant create session to使用者名稱 grant create table to使用者名稱 ...