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>。