1. 程式人生 > >oracle資料庫配置、安裝、部署web應用——筆記

oracle資料庫配置、安裝、部署web應用——筆記

1、      oracle資料庫部署經驗;

1>  先將Oracle - OraDb11g_home2檔案複製到home1對應的檔案目錄下,再安裝home1,安裝比較簡單,設定sys和system使用者密碼即可;

2>  Oracle有自帶的SQL/plus 客戶端(省去安裝客戶端的麻煩)

3>  建立使用者:用SQL/plus或用PL/SQL Developer建立使用者、設定密碼、給使用者授權grant;

4>  修改安裝路徑下的\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\listener.ora tnsnames.ora

檔案的IP主機HOST配置 為安裝資料庫的主機IP地址;

LISTENER_ORCL =

  (ADDRESS = (PROTOCOL =TCP)(HOST = 10.11.0.189)(PORT = 1521))

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL =TCP)(HOST = 10.11.0.189)(PORT= 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME =orcl.11.0.189)

    )

  )

5>  在SQL/plus中用建立的使用者登入,匯入資料庫sql檔案,

說明: 執行sql指令碼
案例: sql>@ d:\a.sql或是sql>startd:\a.sql

6>  PL/SQL Developer使用者登入檢視table資料夾,看到匯入的表;

7>  各種事情都做好了,可以修改專案配置檔案config.properties中的使用者名稱密碼,及IP地址等

driverClass=oracle.jdbc.driver.OracleDriver

jdbcUrl=jdbc\:oracle\:thin\:@10.11.0.189\:1521\:orcl

user=hzbank

password=hzbank

 ————————————————————————————————————————————————————————————

http://www.cnblogs.com/linjiqin/category/349944.html

一、建立使用者
概述:在oracle中要建立一個新的使用者使用create user語句,一般是具有dba(資料庫管理員)的許可權才能使用(即先用sys使用者登入,去建立使用者並授權SQL>grantconnect to xiaoming;授權成功。,使用者才能使用
create user 使用者名稱 identified by 密碼;
注意:oracle有個毛病,密碼必須以字母開頭,如果以數字開頭,它不會建立使用者
egcreate user xiaomingidentified by oracle;

二、給使用者修改密碼
概述:如果給自己修改密碼可以直接使用
SQL> password 使用者名稱或passw
如果給別人修改密碼則需要具有dba的許可權,或是擁有alteruser的系統許可權
SQL> alter user 使用者名稱identified by新密碼
                 
三、刪除使用者
概述:一般以dba的身份去刪除某個使用者,如果用其它使用者去刪除使用者則需要具有drop user的許可權。
比如dropuser 使用者名稱 【cascade
注意:在刪除使用者時,如果要刪除的使用者,已經建立了表,那麼就需要在刪除的時候帶一個引數cascade,即把該使用者及表一同刪除;            

四、許可權
許可權分為系統許可權和物件許可權。
何為系統許可權?
使用者對資料庫的相關許可權,connect、resource、dba等系統許可權,如建庫、建表、建索引、建儲存過程、登陸資料庫、修改密碼等。
何為物件許可權?
使用者對其他使用者的資料物件操作的許可權,insert、delete、update、select、all等物件許可權,資料物件有很多,比如表,索引,檢視,觸發器、儲存過程、包等。
執行SELECT * FROM Dba_Object_Size;語句可得到oracle資料庫物件。

connect system/manager
grant connect to xiaoming;       //xiaoming使用者授予會話connect許可權
grant create session to test;   //給test使用者授予會話session許可權
connect test/test
即可通過使用test使用者連線上Oracle資料庫

五、角色
角色分為預定義角色和自定義角色。           

六、使用者管理的綜合案例
概述:建立的新使用者是沒有任何許可權的,甚至連登陸的資料庫的許可權都沒有,需要為其指定相應的許可權。給一個使用者賦許可權使用命令grant,回收許可權使用命令revoke。
為了講清楚使用者的管理,這裡我給大家舉一個案例。
SQL> conn xiaoming/oracle
ERROR:
ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
警告: 您不再連線到 ORACLE。
SQL> show user
USER 為 ""
SQL> conn system/oracle
已連線。
SQL> grant connect to xiaoming;
授權成功。
SQL> conn xiaoming/oracle
已連線。
SQL>
注意:grant connect to xiaoming;在這裡,準確的講,connect不是許可權,而是角色。
                           
現在說下物件許可權,現在要做這麼件事情:
* 希望xiaoming使用者可以去查詢emp表
* 希望xiaoming使用者可以去查詢scott的emp表
grant select on scott.emp to xiaoming
* 希望xiaoming使用者可以去修改scott的emp表
grant update on scott.emp to xiaoming
* 希望xiaoming 使用者可以去修改/刪除,查詢,新增scott的emp表
grant all on scott.emp to xiaoming
* scott希望收回xiaoming對emp表的查詢許可權
revoke select on scott.emp from xiaoming

七、許可權的傳遞
//對許可權的維護。
* 希望xiaoming使用者可以去查詢scott的emp表/還希望xiaoming可以把這個許可權傳遞給別人。
--如果是物件許可權,就加入with grant option
grant select on emp to xiaoming with grant option
我的操作過程:
SQL> conn scott/oracle;
已連線。
SQL> grant select on scott.emp to xiaoming with grant option;
授權成功。
SQL> conn system/oracle;
已連線。
SQL> create user xiaohong identified by oracle;
使用者已建立。
SQL> grant connect to xiaohong;
授權成功。
SQL> conn xiaoming/oracle;
已連線。
SQL> grant select on scott.emp to xiaohong;
授權成功。
                           
--如果是系統許可權。
system給xiaoming許可權時:grantconnect to xiaoming with admin option
問題:如果scott把xiaoming對emp表的查詢許可權回收,那麼xiaohong會怎樣?
答案:被回收。
下面是我的操作過程:
SQL> conn scott/oracle;
已連線。
SQL> revoke select on emp from xiaoming;
撤銷成功。
SQL> conn xiaohong/oracle;
已連線。
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出現錯誤:
ORA-00942: 表或檢視不存在
結果顯示:小紅受到誅連了。。

八、with admin option與with grant option區別
1、with adminoption用於系統許可權授權,with grant option用於物件授權。

2、給一個使用者授予系統許可權帶上with admin option時,此使用者可把此係統許可權授予其他使用者或角色,但收回這個使用者的系統許可權時,這個使用者已經授予其他使用者或角色的此係統許可權不會因傳播無效, 如授予A系統許可權create session with admin option,然後A又把create session許可權授予B,但管理員收回A的create session許可權時,B依然擁有create session的許可權,但管理員可以顯式收回B create session的許可權,即直接revoke create session from B.   

 而with grant option用於物件授權時,被授予的使用者也可把此物件許可權授予其他使用者或角色,不同的是但管理員收回用with grant option授權的使用者物件許可權時,許可權會因傳播而失效,如grant select on table with grant option to A,A使用者把此許可權授予B,但管理員收回A的許可權時,B的許可權也會失效,但管理員不可以直接收回B的SELECT ON TABLE 許可權。

2、oracle 監聽狀態怎麼檢視

檢視狀態命令:lsnrctl status
啟動監聽:lsnrctl start
關閉監聽:lsnrctl stop

一、sys使用者和system使用者
Oracle安裝會自動的生成sys使用者和system使用者
(1)、sys使用者是超級使用者,具有最高許可權,具有sysdba角色,有create database的許可權,該使用者預設的密碼是change_on_install
(2)、system使用者是管理操作員,許可權也很大。具有sysoper角色,沒有create database的許可權,預設的密碼是manager
(3)、一般講,對資料庫維護,使用system使用者登入就可以拉
注意:也就是說sys和system這兩個使用者最大的區別是在於有沒有create database的許可權。

二、sql*plus工具簡介
sql*plus是oracle自帶的工具軟體,主要用於執行sql語句,pl\sql塊。
操作如下:
(1)、在D:\dev\oracle\product\10.2.0\db_1\bin\目錄下的sqlplusw.exe。(D:\dev\oracle\為oracle安裝目錄)
(2)、在執行欄中輸入“sqlplusw”即可               

三、sqlplus dos工具簡介
(1)、概述:sqlplus是在dos下操作oracle的工具,其功能和sql*plus相似。
(2)、操作如下:在執行欄中輸入“sqlplus”即可            

四、PLSQLDeveloper工具,需要自己安裝,推薦大家使用             

五、sql*plus常用命令
1)、連線命令
1.conn[ect]
用法:conn 使用者名稱/密碼@網路服務名 [as sysdba/sysoper]
說明:當用特權使用者身份連線時,必須帶上as sysdba或是assysoper
eg、
SQL> show user
USER 為 "SCOTT"
SQL> conn system/[email protected]
已連線。
SQL> show user
USER 為 "SYSTEM"
SQL>
以上命令實現類似切換使用者的效果
2.disc/disconn/disconnect
說明: 該命令用來斷開與當前資料庫的連線
3.pssw[ord]
說明: 該命令用於修改使用者的密碼,如果要想修改其它使用者的密碼,需要用sys/system登入。
eg、
SQL> conn scott/oracle
已連線。
SQL> passw
更改 SCOTT 的口令
舊口令:
新口令:
重新鍵入新口令:
口令已更改
SQL>
4.show user
說明: 顯示當前使用者名稱
5.exit
說明: 該命令會斷開與資料庫的連線,同時會退出sql*plus
5.clear screen
清空螢幕

2)、檔案操作命令
1.start和@
說明: 執行sql指令碼
案例: sql>@ d:\a.sql或是sql>startd:\a.sql
2.edit
說明: 該命令可以編輯指定的sql指令碼
案例: sql>edit d:\a.sql,這樣會把d:\a.sql這個檔案開啟
3.spool
說明: 該命令可以將sql*plus螢幕上的內容輸出到指定檔案中去。
案例: sql>spool d:\b.sql並輸入sql>spooloff
eg、
sql>spool d:\b.sql;
sql>select * from emp;
sql>spool off;             

3)、互動式命令
1.&
說明:可以替代變數,而該變數在執行時,需要使用者輸入。
select * from emp where job='&job';            

4)、顯示和設定環境變數
概述:可以用來控制輸出的各種格式,set show 如果希望永久的儲存相關的設
置,可以去修改glogin.sql 指令碼
1.linesize
說明:設定顯示行的寬度,預設是80個字元
show linesize
set linesize 90
2.pagesize說明:設定每頁顯示的行數目,預設是14
用法和linesize 一樣
至於其它環境引數的使用也是大同小異