Oracle創建表空間、用戶名、密碼步驟教程


第一步,以最高級別 SYSDBA 身份登錄數據庫

cmd 進入命令行

登錄方式一:

C:\Documents and Settings\Administrator>sqlplus sys/sys as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 5 月 2916:08:00 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

連接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OL AP and Data Mining options

SQL>

登錄方式二:

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 5 月 2916:27:31 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn sys/sys@orcl as sysdba

已連接。

SQL>

登錄方式三:

C:\Documents and Settings\Administrator>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 5 月 2916:28:45 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

請輸入用戶名: sys@orcl as sysdba

輸入口令:

連接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OL AP and Data Mining options

SQL>

登錄方式四:

C:\Documents and Settings\Administrator>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 5 月 2916:31:18 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

請輸入用戶名: scott

輸入口令:

連接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OL AP and Data Mining options

SQL> conn sys/sys@orcl as sysdba;

已連接。

SQL>

登錄方式五:

C:\Documents and Settings\Administrator>sqlplus sys/sys@orcl as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 5 月 2916:37:18 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

連接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OL AP and Data Mining options

SQL>

============================================================================================

第二部:創建表空間

1、創建表空間

create tablespace tb_nanc

datafile 'C:\Javawork\oracle10g\productd\oradata\orcl\tb_nanc.dbf'

size 50M

autoextend on next 50m maxsize 2048m

extent management local;

創建表空間 名為:tb_nanc,

存放文件地址為 C:\Javawork\oracle10g\productd\oradata\orcl\

表空間大小為 50M,超過了就自動增加 50M,最大 2G,

2、創建臨時表空間

create temporary tablespace tb_nanc_temp

tempfile

'C:\Javawork\oracle10g\productd\oradata\orcl\tb_nanc_temp.dbf'

size 32m

autoextend on next 32m maxsize 1024m

extent management local;

創建臨時表空間 名為:tb_nanc_temp,

存放文件地址為 C:\Javawork\oracle10g\productd\oradata\orcl\

臨時表空間大小為 32M,超過了就自動增加 32M,最大 1G

3、刪除表空間及數據

drop tablespace tb_nanc including contents and datafiles;

drop tablespace tb_nanc_temp including contents and datafiles;

DROP TABLESPACE TBS01 INCLUDING CONTENTS AND DATAFILES

select * from dba_data_files

alter database default tablespace system;(更改默認表空間)

============================================================================================

第三部:創建用戶並授權

1、創建用戶

create user tb_nanc identified by tb_nanc default tablespace tb_nanc

temporary tablespace tb_nanc_temp;

創建了用戶 tb_nanc 密碼是 tb_nanc

默認在表空間 tb_nanc 和臨時表空間 tb_nanc_temp 里面。

2、給用戶授權

1,grant connect,resource to tb_nanc;

將 connect,resource 角色權限授權給 tb_nanc

2,grant dba to tb_nanc;

將 dba 角色權限授權給 tb_nanc

3、撤銷權限

revoke dba on table1 from zhangch //收回權限

revoke dba from zhangch

數據庫特權 說明

DBA 數據庫創建者/所有者。能夠授予數據庫中的其他對象上的特權。

Resource 能夠連接到數據庫並創建其他對象。

Connect 能夠連接到數據庫執行查詢。

3、如果用戶被鎖住了,就用語句給解開

alter user tb_nanc account unlock;

============================================================================================

第四部:刪除表空間、用戶

--//刪除表空間

drop tablespace test_temp including CONTENTS and datafiles;

--//修改用戶密碼:

alter user test identified by new_password;

--//刪除用戶:

drop user 用戶名 cascade; --//執行該語句請小心,會級聯刪除該用戶下所有對象。

--//取消用戶權限:

revoke connect,resouce from lqcommunity

===============================================================================

第五部:導入、導出數據庫

1 導入數據庫

在重新開一個 cmd 命令窗口,直接輸入,即在 dos 命令行下,而不是在 sql>下:

imp tb_nanc/tb_nanc@orcl tablespaces=tsp_emr fromuser=tb_nanc touser=tb_nancfile=D:\nancheshenyang\tb_nanc2010-05-29.DMP log=d:\logte%.log

說明:當前用戶名 /密碼@ 數據庫名 fromuser=當初導出時的用戶 touser= 導入的新用

戶 file=d: \test.dmp

如果全點就是,

IMP hr/hr BUFFER=64000 full=y FILE=D: \zgnc\ehr.dmp

2、導出數據庫

在重新開一個 cmd 命令窗口,直接輸入,即在 dos 命令行下,而不是在 sql>下:

exp tb_nanc/tb_nanc@orc_nanc owner=tb_nanc file=d:\tb_nancte%.dmplog=d:\logte%.log

6

【其中 orc_nanc 是自己給起的服務名,即\network\admin\tnsnames.ora 下的名稱,不是

對方的實例名】

1、 為避免錯誤,最好,在新創建的表空間,用戶名和密碼,都是和原來的用戶名和密碼都一

樣的,這樣節省很多麻煩事。

第五部:一些常用命令

1、表操作

查看當前用戶有哪了些表:

select * from tab;

select table_name from user_tables; //當前用戶的表

select table_name from all_tables; //所有用戶的表

select table_name from dba_tables; //包括系統

查看某表的表結構:

desc table_name;

2、用戶操作

查看所有用戶: select * from all_users;

查看當前用戶的角色 select * from user_role_privs;

查看當前用戶的系統權限 select * from user_sys_privs

查看當前角色的系統權限 select * from role_sys_privs

3、

select * from all_tab_privs; --------查看所用的用戶的可操作表權限

select * from user_tab_privs; --------查看當前用戶的表可操作權限

創建新用戶:

create user abc identified by abc

default tablespace myspace

temporary tablespace myspacetemp;

刪除用戶: drop user user_name cascade;

為用戶授權: grant connect,resource to user_name;

取消用戶的授權: revoke connect,resource from user_name;

修改用戶密碼: alter user user_name identified by user_pwd;

第六部:數據庫名、實例名、數據庫域名、

全局數據庫名、服務名

概念搞得一頭霧水。我們現在就來把它們弄個明白。

1、數據庫名

什么是數據庫名?

數據庫名就是一個數據庫的標識,就像人的身份證號一樣。他用參數 DB_NAME 表示,如果一台

機器上裝了多全數據庫,那么每一個數據庫都有一個數據庫名。在數據庫安裝或創建完成之后,

參數 DB_NAME 被寫入

參數文件之中。格式如下:

DB_NAME=myorcl

...

在創建數據庫時就應考慮好數據庫名,並且在創建完數據庫之后,數據庫名不宜修改,即使要修

改也會很麻煩。因為,數據庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶

無法修改控制文件的內容。假設用戶修改了參數文件中的數據庫名,即修改 DB_NAME 的值。

但是在 Oracle 啟動時,由於參數文件中的 DB_NAME 與控制文件中的數據庫名不一致,導致

數據庫啟動失敗,將返回 ORA-01103 錯誤。

數據庫名的作用

數據庫名是在安裝數據庫、創建新的數據庫、創建數據庫控制文件、修改數據結構、備份與恢

復數據庫時都需要使用到的。有很多 Oracle 安裝文件目錄是與數據庫名相關的,如:

winnt: d:oracleproduct10.1.0oradataDB_NAME...

Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...

pfile:

winnt: d:oracleproduct10.1.0adminDB_NAMEpfileini.ora

Unix:

/home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORA

CLE_SID.ora

跟蹤文件目錄:

winnt:

/home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/... 另外,在創建數據

時,careate database 命令中的數據庫名也要與參數文件中 DB_NAME 參數的值一致,否

則將產生錯誤。同樣,修改數據庫結構的語句 alter database ,當然也要指出要修改的

數據庫的名稱。

如果控制文件損壞或丟失,數據庫將不能加載,這時要重新創建控制文件,方法是以 nomount

8

方式啟動實例,然后以 create controlfile 命令創建控制文件,當然這個命令中也是指指

DB_NAME。還有在備份或恢復數據庫時,都需要用到數據庫名。

總之,數據庫名很重要,要准確理解它的作用。

查詢當前數據名

方法一:select name from v$database;

方法二:show parameter db

方法三:查看參數文件。

修改數據庫名前面建議:應在創建數據庫時就確定好數據庫名,數據庫名不應作修改,因為修

改數據庫名是一件比較復雜的事情。那么現在就來說明一下,如何在已創建數據之后,修改數

據庫名。步驟如下:

1.關閉數據庫。

2.修改數據庫參數文件中的 DB_NAME 參數的值為新的數據庫名。

3.以 NOMOUNT 方式啟動實例,修建控制文件( 有關創建控制文件的命令語法,請參考 oracle

文檔)

2、數據庫實例名

什么是數據庫實例名?

數據庫實例名是用於和操作系統進行聯系的標識,就是說數據庫和操作系統之間的交互用的是

數據庫實例名。實例名也被寫入參數文件中,該參數為 instance_name,在 winnt 平台中,

實例名同時也被寫入注冊表。

數據庫名和實例名可以相同也可以不同。在一般情況下,數據庫名和實例名是一對一的關系,

但如果在 oracle 並行服務器架構( 即 oracle 實時應用集群) 中,數據庫名和實例名是一對多

的關系。

查詢當前數據庫實例名

方法一:select instance_name from v$instance;

方法二:show parameter instance

方法三:在參數文件中查詢。

數據庫實例名與 ORACLE_SID 雖然兩者都表是 oracle 實例,但兩者是有區別的。

instance_name 是 oracle 數據庫參數。而 ORACLE_SID 是操作系統的環境變量。

ORACLD_SID 用於與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過

ORACLE_SID。在 winnt 下,ORACLE_SID 還需存在於注冊表中。且 ORACLE_SID 必須與

instance_name 的值一致,否則,你將會收到一個錯誤,在 unix 平台,是“ORACLE not

available”,在 winnt 平台,是 “TNS:協議適配器錯誤”。數據庫實例名與網絡連接數

據庫實例名除了與操作系統交互外,還用於網絡連接的 oracle 服務器標識。當你配置 oracle

主機連接串的時候,就需要指定實例名。當然 8i 以后版本的網絡組件要求使用的是服務名

SERVICE_NAME。這個概念接下來說明。

9

3、數據庫域名

什么是數據庫域名?

在分布工數據庫系統中,不同版本的數據庫服務器之間,不論運行的操作系統是 unix 或是

windows,各服務器之間都可以通過數據庫鏈路進行遠程復制,數據庫域名主要用於 oracle

分布式環境中的復制。舉例說明

如:

全國交通運政系統的分布式數據庫,其中:

福建節點: fj.jtyz

福建廈門節點: xm.fj.jtyz

江西: jx.jtyz

江西上饒:sr.jx.jtyz

這就是數據庫域名。

數據庫域名在存在於參數文件中,他的參數是 db_domain.

查詢數據庫域名

方法一:select value from v$parameter where name = 'db_domain';

方法二:show parameter domain

方法三:在參數文件中查詢。

全局數據庫名

全局數據庫名=數據庫名+ 數據庫域名,如前述福建節點的全局數據庫名是:oradb.fj.jtyz

4、數據庫服務名

什么是數據庫服務名?

從 oracle9i 版本開始,引入了一個新的參數,即數據庫服務名。參數名是 SERVICE_NAME 。

如果數據庫有域名,則數據庫服務名就是全局數據庫名;否則,數據庫服務名與數據庫名相同。

查詢數據庫服務名

方法一:select value from v$parameter where name = 'service_name';

方法二:show parameter service_name

方法三:在參數文件中查詢。

數據庫服務名與網絡連接從 oracle8i 開如的 oracle 網絡組件,數據庫與客戶端的連接主機

串使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM