oracle學習筆記《一》

firefule發表於2021-09-09

   

一、主鍵和外來鍵的關係

表A主鍵為name,表B外來鍵為name。

在表A中為主鍵,在表B中為外來鍵,那麼A表是主表,B表是從表。

對錶B的name欄位進行修改或者新增記錄,必須要參考表A的name列。假如插入jim值到表B的name欄位,而表A的name列沒有這個值,那麼就會插入失敗,這就是外來鍵約束。如果表B的name列允許為空,那麼可以插入空記錄。因為可能這一行記錄可以不關聯表A的記錄。

外來鍵的值可以相同,因為從表有些行的記錄可能都要關聯父表某行的記錄。

二、oracle遠端連線

客戶端

命令: sqlplus username/password@HOST:port/SERVICE_NAME [as sysdba]

用sysdba許可權使用者遠端連就必須要加上as sysdba選項。

服務端

1.開啟監聽,命令為lsnrctl start.

2.檢視$ORACLE_HOME/network/admin/下的sqlnet.ora和tnsname.ora

   [oracle@oracle admin]$ cat sqlnet.ora

# sqlnet.ora Network Configuration File: /xinying/oracle/app/oracle/product/11.1.0/db_1/network/admin/sqlnet.ora

# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

SQLNET.AUTHENTICATION_SERVICES = (ALL) #使用者認證模式,作業系統認證和密碼檔案認證混合模式。

[oracle@oracle admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /xinying/oracle/app/oracle/product/11.1.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

#客戶端的命令選項根據以下的引數來設定

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.252)(PORT = 1521))#網路監聽服務主機埠。

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)#網路服務名

    )

  )

2.設定初始化引數 REMOTE_LOGIN_PASSWORDFILE : 

    在 Oracle 資料庫例項的初始化引數檔案中,此引數控制著密碼檔案的使用及其狀態。它可以有以下幾個選項: 

NONE :指示 Oracle 系統不使用密碼檔案,特權使用者的登入透過作業系統進行身份驗證; 

EXCLUSIVE :指示只有一個資料庫例項可以使用此密碼檔案。只有在此設定下的密碼檔案可以包含有除 INTERNAL / SYS 以外的使用者資訊,即允許將系統許可權 SYSOPER / SYSDBA 授予除 INTERNAL / SYS 以外的其他使用者。 

SHARED :指示可有多個資料庫例項可以使用此密碼檔案。在此設定下只有 INTERNAL / SYS 帳號能被密碼檔案識別,即使檔案中存有其他使用者的資訊,也不允許他們以 SYSOPER / SYSDBA 的許可權登入。此設定為預設值。 

SQL> show parameter remote_login_passwordfile

NAME                                 TYPE        VALUE

------------------------------------ ----------- ----------

remote_login_passwordfile            string      EXCLUSIVE

3.建立密碼檔案,檔案路徑在$ORACLE_HOME/dbs/,檔名為orapwORACLE_SID.

  命令:[oracle@oracle admin]$ orapwd --help

Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n> ignorecase=<y/n> nosysdba=<y/n>

  where

    file - name of password file (required), 建立檔案的路徑

    password - password for SYS (optional),  密碼

    entries - maximum number of distinct DBA (required),允許多少人遠端訪問

    force - whether to overwrite existing file (optional), 覆蓋當前的密碼檔案

    ignorecase - passwords are case-insensitive (optional),

    nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).

  There must be no spaces around the equal-to (=) character.

orapwd file="/xinying/oracle/app/oracle/product/11.1.0/db_1/dbs/orapwORACLE_SID" password=test entries=10 force=y

4.檢視sysdba許可權遠端連線的使用者

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP SYSAS

------------------------------ ----- ----- -----

SYS                            TRUE  TRUE  FALSE

三、修改oracle本地監聽埠

編輯$ORACLE_HOME/network/admin/下的listener.ora。

©著作權歸作者所有:來自51CTO部落格作者新穎的原創作品,如需轉載,請註明出處,否則將追究法律責任

oracle職場休閒Oracle


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1834/viewspace-2821421/,如需轉載,請註明出處,否則將追究法律責任。

相關文章