oracle創建表空間和用戶以修改用戶密碼

create tablespace NNC_DATA01 datafile 'D:\oracle_program\product\11.2.0\oradata\orcl11\nnc_data01.dbf' size 500M autoextend on next 50M extent management local uniform size 512k; 
create tablespace NNC_INDEX01 datafile 'D:\oracle_program\product\11.2.0\oradata\orcl11\nnc_index01.dbf' size 500M autoextend on next 50M extent management local uniform size 256k;
create user nc65test identified by nc65test default tablespace NNC_DATA01 temporary tablespace temp; 

grant connect,dba to nc65test;


---查看數據庫 的版本

select * from v$version


//查詢用戶下的表數量

 select dt.owner,count(*) from dba_tables dt group by dt.owner;

//導出數據

expdp sys/change_on_install directory=DATA_PUMP_DIR dumpfile=data.dmp  version=11.1.0.7.0


概念:

SYS用戶是Oracle中權限最高的用戶,而SYSTEM是一個用於數據庫管理的用戶。在數據庫安裝完之後,應立即修改SYS,SYSTEM這兩個用戶的口令,以保證數據庫的安全。

可以用三種方法修改口令:
sqlplus / as sysdba;
1.sql> alter user sys identified by 123456

2.sql>grant connect to sys identified by 123456

3.sql>password system (注:此命令只適用於SYSTEM)

SYS和SYSTEM用戶之間可以相互修改口令

但是請注意,將修改完口令修改成123456後,按以下幾種方法登錄:
sqlplus / as sysdba;
sqlplus sys/abcde as sysdba;
sqlplus sys/ as sysdba;
sqlplus sys as sysdba;
都可以登錄成功,然後查看當前用戶:
sql>show user
顯示 user is 'SYS'。
這是爲什麼呢,爲什麼修改了口令沒有效果,不用口令或者隨便用什麼口令都可以進入呢。
答案是:認證方法。

 

 

oracle的口令認證

SYS口令認證分爲操作系統認證和Oracle認證方法。

1.在操作系統認證方式下

對於如果是Unix操作系統,只要舊以DBA組中的用戶登錄的操作系統,就可以以SYSDBA的身份登錄數據庫,不會驗證SYS的口令。
對於windows操作系統,在oracle數據庫安裝後,會自動在操作系統中安裝一個名爲ORA_DBA的用戶組,只要是該組中的用戶,即可以SYSDBA的身份登錄數據庫而不會驗證SYS的口令。也可以創建名爲ORA_SID_DBA(SID爲實例名)的用戶組,屬於該用戶組的用戶也可以具備以上特權。

 

 

如何修改認證方式

接下說一說,如何修改認證方式爲操作系統認證或oracle認證。(windows,unix平臺有大同小異)


要將認證方式設置爲操作系統認證:
1.修改參數REMOTE_LOGIN_PASSWORDFILE爲NONE
2.修改SQLNET.ORA文件,此文件所在目錄爲:...\oracle\product\10.1.0\db_1\network\admin\sqlnet.ora。在其中添加這一行:SQLNET.AUTENTICATION_SERVICES=(NTS)
3.重新啓動數據庫。


要將認證方式設置爲oracle認證(口令文件認證):
1.修改參數REMOTE_LOGIN_PASSWORDFILE爲EXCLUSIVE或SHARED。其中,exclusive表示僅有一個實例可以使用口令文件。shared表口令文件可以供多個實例使用。
2.修改SQLNET.ORA文件,在SQLNET.AUTENTICATION_SERVICES=(NTS)前加#號,即#SQLNET.AUTENTICATION_SERVICES=(NTS)
3.重新啓動數據庫。

 

 

 

如果發生sys口令丟失的情況,怎麼辦?

 

1.使用system用戶進行口令更改

 

2.如果存在密碼文件,則刪除它(一般路徑在..\oracle\product\xx.x.x\db_1\database下) 然後創建密碼文件--cmd下輸入
orapwd file=FILEPATH\pwd<sid> password=PASSWORD entries=N
其中FILEPATH表示密碼文件路徑,密碼文件的格式爲pwd<sid>,sid是數據庫實例名。

在unix下爲orapwd<sid>。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章