Oracle資料物件及表空間簡單整理

2021-09-13 17:58:19 字數 3013 閱讀 8127

主要用來連線資料庫、訪問資料庫

建立使用者:

create user test identified by 123 default tablespace name;  指定表空間

給使用者賦許可權:

grant connect,resource,dba to user;

connect:連線資料庫,對使用者表有訪問許可權

resource:可以建立實體(表、序列、同義詞等)

dba:系統管理員,擁有所有系統許可權

查詢使用者:

select username from all_users/dba_users/user_users;

刪除使用者:

drop user test cascade;   //刪除使用者下的所用資料物件

儲存資料

建立表:

create table student(

id number(10) primary key,

name varchar2(10) not null,

*** varchar2(2)

);查詢當前使用者下所有表:

select table_name from user_tables;

修改表字段:

alter table student modify(*** varchar2(5));

插入資料:

insert into student values(1,'szw','nan');

加快資料的讀取速度和完整性檢查

建立索引:

create index myindex on table(name);

查詢索引:

select index_name from user_indexes;

刪除索引:

drop index myindex(index_name);

資料物件的別名

建立同義詞:

create synonym name for object;

刪除同義詞:

drop synonym name;

查詢同義詞:

select * from dba_synonyms;

建立序列:

create sequence myseq  --名稱

minvalue 1             --最小值,可以設定為0

maxvalue 2147483647    --最大值

start with 1           --從1開始計數

increment by 1         --每次加幾個

nocycle;               --一直累加不迴圈

刪除序列:

drop myseq

修改序列:

alter sequence myseq

minvalue 10

maxvalue 100000

start with 10

increment by 2

cycle;

sequence使用

建立好sequence後就可以通過currval與nextval進行使用。

currval:返回 sequence的當前值

nextval:增加sequence的值,然後返回增加後sequence值

sql語句:

select myseq.currval from dual;

第一次使用查詢要用 myseq.nextval,否則會報如下錯誤:

ora-08002: sequence myseq.currval is not yet defined in this session

相當於一組許可權的集合,可以將角色賦給使用者,與使用者是多對多的關係

建立角色:

create role sysrole;

給角色賦許可權:

grant 許可權 to sysrole;

給使用者賦角色:

grant sysrole to test;

查詢角色:

select role from role_sys_privs;

查詢某個角色擁有什麼許可權:

select privilege from role_sys_privs where role='dba';

檢視當前使用者被授予的角色:

select granted_role from user_role_privs;

建立表空間:

create tablespace test datafile '表空間檔案絕對路徑' size 100m;

查詢使用者表空間檔案的絕對路徑:

select name from v$datafile;

刪除表空間:

alter tablespace test offline;

刪除表空間及其資料物件及資料檔案:

drop tablespace test including contents and datafiles;

查詢當前使用者的表空間:

select tablespace_name from user_tablespaces;

Oracle 表空間和資料物件

表空間 資料庫物件 建立同義詞並訪問 create user xiaomei identified by xiaomei grant connect to xiaomei grant resource to xiaomei grant create synonym to xiaomei 連線至xia...

Oracle 表及表空間 一

乙個資料庫可以有多個表空間,乙個表空間裡可以有多個表。表空間就是存多個表的物理空間 可以指定表空間的大小位置等。建立表空間 create tablespace ts1 datafile c tablespace ts1.dbf size 50m 自動擴充套件大小 create tablespace ...

oracle物件的表空間遷移

imp資料的時候,由於表空間的匯入匯出表空間的不同,匯入資料到了system表空間,因此需要move到user表空間,具體過程如下 1,確定需要move的物件 select owner,segment name,tablespace name,segment type from dba segmen...