Oracle常見命令操作

2021-09-01 07:41:55 字數 4693 閱讀 3517

1. 建立表空間、使用者、給使用者授權:

create tablespace temptusers datafile 'd:\oracle\product\10.2.0\

oradata\oracl\temptusers.dbf' size 1024m

create user e2qoa_v3 identified by "123456"

profile default

default tablespace users

temporary tablespace temptusers

account unlock

grant connect to e2qoa_v3

grant create session to e2qoa_v3

grant dba to e2qoa_v3

2. 命令列進入sqlplus並檢視oracle版本:

sqlplus sys/sys as sysdba

sql> select banner from sys.v_$version;

3. 檢視當前登入的使用者:

sql>show user;

4. 檢視所有管理員使用者的狀態:

sql>select * from dba_users;

又如:sql>select account_status from dba_users where username=』e2qoa_v3』;

5. 另外常見命令:

create user *** identified by 密碼;

alter user *** default tablespace 表空間名quota unlimited on 表空間名;

alter user *** temporary tablespace temp;

grant create trigger to *** ;

grant create session to *** ;

grant create sequence to *** ;

grant create synonym to *** ;

grant create table to *** ;

grant create view to *** ;

grant create procedure to *** ;

grant alter session to *** ;

grant execute on ctxsys.ctx_ddl to *** ;

grant dba to *** ;

6. 檢視某個表空間中包含的所有表的名稱:

select table_name from dba_tables where tablespace_name='users'

或者:select * from dba_segments where tablespace_name='tablespace_name' and segment_type='table'

7. 關於sys使用者和system使用者的區別:

1)儲存的資料重要性不同。所有oracle的資料字典的基表和檢視都存放在sys使用者中,這些基表和檢視對於oracle的執行是至關重要的,由資料庫自己維護,任何使用者都不能手動改動。sys使用者擁有dba、sysdba、sysoper等角色和許可權,是oracle許可權最高的使用者;而sys使用者用於存放次一級的內部資料,如oracle的一些特性或工具的管理資訊,system使用者擁有普通dba角色許可權。

2)許可權不同。system使用者只能用normal身份登入em,除非你對它賦予了sysdba的系統許可權或者sysoper系統許可權;sys使用者具有sysdba和sysoper  系統許可權,登入em只能用這兩個身份,而不能用normal。

8.以sys身份登入oracle查詢具有sysdba許可權的使用者:

sql> select * from v_$pwfile_users;

結果如下:

username sysdba  sysoper

sys     true    true

另外,system如果正常登入,它其實就是乙個普通的dba使用者,但是如果以as sysdba登入,其結果實際上它是作為sys使用者登入的,這一點類似linux裡面的sudo的感覺,從登入資訊裡面我們可以看出來。因此在as sysdba連線資料庫後,建立的物件實際上都是生成在sys中的。其他使用者也是一樣,如果 as sysdba登入,也是作為sys使用者登入的,看以下實驗:

sql> conn / as sysdba

已連線。

sql> grant sysoper to test;

授權成功。

sql> conn test/test as sysoper;

已連線。

sql> show user

user

為"sys"

sql> conn test/test as sysdba

已連線。

sql> show user

user

為"sys"

9. sysdba和sysoper兩個系統許可權區別:

我們知道normal是普通使用者,而sysdba和sysoper是具有系統管理級別的許可權,sysdba擁有最高的系統許可權,登陸後是sys,sysoper主要用來啟動、關閉資料庫,sysoper 登陸後使用者是public。

sysdba

和sysoper

具體的許可權如下:

sysoper許可權,即資料庫操作員許可權,許可權包括:

開啟資料庫伺服器關閉資料庫伺服器

備份資料庫恢復資料庫

日誌歸檔會話限制

sysdba許可權,即資料庫管理員許可權,許可權包括:

開啟資料庫伺服器關閉資料庫伺服器

備份資料庫恢復資料庫

日誌歸檔會話限制

管理功能建立資料庫

10. dba和sysdba的區別:

dba、sysdba這兩個系統角色有什麼區別呢?在說明這一點之前我需要說一下oracle服務的建立過程和啟動過程。

建立過程:

·建立例項→·啟動例項→·建立資料庫(system表空間是必須的)

啟動過程:

·例項啟動→·裝載資料庫→·開啟資料庫

sysdba是管理oracle例項的,它的存在不依賴於整個資料庫完全啟動,只要例項啟動了,他就已經存在,以sysdba身份登陸,裝載資料庫、開啟資料庫。只有資料庫開啟了,或者說整個資料庫完全啟動後,dba角色才有了存在的基礎!

11. 關於oracle的匯入匯出

exp和imp命令匯出匯入過程中推薦使用system使用者(具有普通dba許可權),因為

匯出注意事項:匯出的是當前使用者的資料,當前使用者如果有

dba的許可權,則匯出所有資料!

如下各例:

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:\dao.dmp  owner=(system,sys)

3). 將資料庫中的表table1 、table2匯出:

exp system/manager@test file=d:\da.dmp  tables=(table1,table2)

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

exp system/manager@test file=d:\daochu.dmp  tables=(table1) query=\" where filed1 like  '00%'\"

5). 將d:\daochu.dmp 中的資料匯入test資料庫中:

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

上面可能有點問題,因為有的表已經存在,然後它就報錯,對該錶就不進行匯入。在後面加上ignore=y 就可以了。

6). 將d:\daochu.dmp中的表table1 匯入:

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

7). 同名使用者之間的資料匯入:

imp hkb/hkb@xe  file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y

8). 不同名使用者之間的資料匯入:

imp system/test@xe fromuser=hkb touser=hkb_new   file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log;

12. sys和system使用者的密碼遺忘後的修改:

1). 在命令列下輸入以下命令登陸:

sqlplus / as sysdba;      

2)用alter語句修改sys和system使用者的密碼,如下:

sql> alter user sys identified by sys;

使用者已更改。

sql> alter user system identified by system;

使用者已更改。

詳情如下圖所示: 

oracle 常見命令

查表空間磁碟引數 accept sth prompt 請輸入要檢視的表空間名 col tablespace name for a15 select tablespace name,initial extent,next extent,max extents,pct increase,min extl...

oracle常見命令

1 系統許可權系統許可權是指對資料庫系統的許可權和物件結構控制的許可權。如grant create session to 使用者名稱 賦予使用者登入的許可權 2 物件許可權訪問其它使用者物件的權利 grant select,update,delete,insert on 使用者名稱.表名 to 使用...

oracle常見操作語句

這週剛學完oracle,oracle運算元據庫主要有兩種方法 1 通過客戶端介面操作 2 通過sql語句來運算元據庫 下面是通過查詢資料和課堂筆記總結的一些簡單oracle語句 1.建立oracle表 create table 表名 列名1 型別,列名2 型別 2.在建好的表中新增列 alter t...