控制文件 : Desc v$controlfile;
數據文件 :desc v$datafile;
日志文件: desc v$logfile;
1. 執行導入 .sql文件
命令語法如下:directory_path\store_schema.sql
其中 directory_path 是保存 store_schema.sql 腳本的目錄和路徑
例如:以下代碼演示了導入C盤下的 sql 腳本文件:
@c:\sql\store_schema.sql
2. 在SQL Plus 中切換不同的用戶,例如以下命令切換到 system 用戶登陸
connect system/manager@oracle 其中Oracle 是指服務名
3. Oracle 安裝後,dual 是默認的表名 在SQL Plus 中輸入:
select sysdate from dual; 它可以返回當前日期
**** 注意:SQL語句以分號(;)結束
4. Oracle 中的數據庫是以表空間存在的,以下命令創建了一個名為:yyaccp的表空間,並且指定數據文件的路徑。
create tablespace yyaccp
datafile ''D:\oracle\oradata\Oracle\yyaccp.DBF''
size 5M autoextend on;
5. Oracle 中可以通過命令創建用戶名,以下命令創建了一個 yyaccp 用戶名,
並為它確定默認表空間和臨時表空間
create user yyaccp identifIEd by yyaccp
default tablespace yyaccp
temporary tablespace temp;
6. 如果要給授權的用戶可以在數據庫中執行一定的操作那麼應該為該用戶授予
執行這些操作的權限,例如,如果要讓這個用戶連接到數據庫上必須要為該
用戶授予“創建會話的權限”,以下命令為 yyaccp 用戶創建了會話權限
(使用grant語句) grant create session to yyaccp;
授予權限以後就可以通過 yyaccp 用戶連接到數據庫了:
connect yyaccp/yyaccp@Oracle;
7.用戶密碼的可以通過 alter 進行修改 以下命令修改了 yyaccp 用戶的密碼:
alter user yyaccp identifIEd by accp;
8. password 命令可以用來修改當前登陸的用戶的密碼,在登陸後輸入passWord
命令,sql plus 會提示輸入原來的密碼,然後再輸入兩次新密碼 例如:
connect yyaccp/accp;
輸入: passWord;
sql plus 顯示:
更改YYACCP的口令
舊口令: ******
新口令: ******
重新鍵入新口令:******
口令已更改
9. 刪除用戶可以通過 drop user 進行刪除,以下命令刪除 yyaccp 用戶connect system/manager@Oracle;
drop user yyaccp;
10. 使用 grant向用戶授予不同的特權:以下通過system 用戶向 yyaccp 用戶授予了 創建會話、創建用戶以及創建表的權限
Connect system/manager@Oracle;
Grant create session, create user , create table to yyaccp;
常用的系統特權:
Create session
連接到數據庫上
Create sequence
創建序列
Create table
創建表
Create any table
在任何模式中創建表
Drop table
刪除表
Drop any table
刪除任何模式中的表
Create procedure
創建存儲過程
Execute any procedure
執行任何模式中的存儲 過程
Create user
創建用戶
Drop user
刪除用戶
Create vIEw
創建視圖
11.使用with admin option 選項。授權的用戶可以把特權授予其他用戶使用
以下命令 將execute any procedure 特權授予 yyaccp 用戶,同時指定了
with admin option 選項。
Connect system/manager@Oracle;
Grant execute any procedure to yyaccp with admin option;
12.使用 public 可以將一種特權授予所有用戶 ,以下命令 以system 用戶的身份
連接到數據庫上 ,並將execute any procedure 特權授予 public
Connect system/manager@Oracle;
Grant execute any procedure to public;
13. 檢查授予用戶的權限(通過 user_sys_privs 表)檢查某個用戶具有哪些權限:
以下命令演示了 yyaccp 用戶連接到數據庫上,並對 user_sys_privs 進行查詢
Select * from user_sys_privs ;
14. 撤銷系統特權。以下system撤銷了 yyaccp用戶的dba權限
Revoke dba from yyaccp;
15.當用戶創建表或向已有的表中插入數據時,提示Ora-01536:表空間不足
可以通過以下方式解決:
(1) alter user USERNAME quota 100M on TABLESPACENAME;
(2) alter user USERNAME quota unlimited on TABLESPACENAME;
(3) grant unlimited tablespace to USERNAME;
例如 :創建了 yyaccp 用戶 但是yyaccp 用戶在 yyaccp 表空間中建表時出現Ora-01536狀態碼,執行以下命令:
Connect system/manager;
alter user yyaccp quota unlimited on yyaccp;
角色:
角色就是一組特權,它可以分配給一個用戶或者其他角色.
以下命令創建一個管理 employees2 表的角色
create role employyes2_manger
給角色賦予權限:
grant select,update,insert,delete on yyaccp.employees2 to employyes2_manger
對象特權:
16. 對象特權允許用戶對數據庫對象執行特定的操作,比如對表進行添加、修改、刪除、查詢等操作。
以下表格列出了常用的對象特權:
對象特權
允許執行的操作
select
執行查詢操作
Insert
執行插入操作
Update
執行修改操作
Delete
執行刪除操作
execute
執行存儲過程
向用戶授予對象特權:
17. 可以使用 grant 語句向用戶授予 對象特權 ,下面這個例子以 yyaccp 用戶的身份連接到數據庫,並向 tuser 授予以下特權:對 tusertable 表的 select ,
Insert ,update 對象特權進行授權
Connect yyaccp/accp;
Grant select ,insert ,update on yyaccp.tusertable to tuser;
18. 以下命令對tusertable 表中的 name , address 列的 update 特權授予tuser 用戶
Grant update(name,ddress) on yyaccp.tusertable to tuser;
19. 使用 grant 選項可以使授權的用戶把這種特權再授予其他用戶。下面命令對tusertable 表的 select 特權授予 tuser 用戶,同時指定了 with grant option 選項
20. 檢查已授予的對象特權(通過查詢 user_tab_privs_made) 可以檢查某個用戶對哪些表向其他用戶開放了哪些對象特權:
Select * from user_tab_privs_made
user_tab_privs_made 部分列
列名稱
說明
Grantee
該特權授予的用戶
Table_name
所授予的特權所操作的對象(例如表)名
Grantor
授權者
Privilege
對該對象授予的特權
grantable
特權所授予的用戶是否可以將這種特權再授予其他用戶,該值等於 yes 或 no
hIErarchy
特權是否構成層次關系。該值等於 yes 或 no
User_col_privs_made 可以檢查某個用戶對哪些列對象開放了哪些特權。
Select * from user_col_privs_made;
from user_col_privs_made 部分列
列名稱
列說明
Grantee
該特權授予的用戶
Table_name
所授予特權所操作的對象名
Column_name
所授予特權所操作的對象名
Grantor
授權者
Privilege
對該對象授予的特權
grantable
特權授予的用戶是否可以將這種權限再授予其他用戶,該值等於 yes 或 no
21.使用同名對象,前面我們所有的授權後,如果要訪問一個表名稱要通過模式名稱後面跟上一個表名。例如:yyaccp.tusertable。 以下命令通過創建同名對象(synonym)之後就可以不再輸入模式名了。同名對象使用 create synonym 語句創建。以下命令用 yyaccp 用戶登陸後,將 create synonym 特權給 tuser用戶:
Connect yyaccp/accp;
Grant create synonym to tuser;
然後以tuser 用戶的身份連接到數據庫上,並執行一條 create synonym 語句,為 yyaccp.tusertable 創建一個同名的對象
Connect tuser/tuser;
Create synonym tusertable for yyaccp.tusertable;
22.使用公共同名對象:
可以為表創建公共同名對象(public synonym)。再創建公共同名對象之後,所用的用戶都可以看到這個同名對象,下面四條語句完成公共同名對象
Connect system/manager;
Grant create public synonym to yyaccp;
Connect yyaccp/accp;
Create public synonym sttable for yyaccp.sttable;
如果以tuser 用戶身份連接到數據庫上就可以通過公共對象名稱 sttable 對 yyaccp.sttable 進行檢索:
Connect tuser/tuser;
Select * from sttable;
23.撤銷用戶對象的特權:
使用 revoke 語句撤銷某個用戶的對象特權。以下命令以 yyaccp 用戶的身份連接到數據庫上,並撤銷 tuser 對sttable 表的 insert 特權
Connect yyaccp/accp;
Revoke insert on sttable from tuser