1.PL/SQL——準備工作和實驗環境簡介

來源:互聯網
上載者:User

標籤:oracle pl/sql

一、準備工作

本機採用的是CentOS6.5的作業系統,安裝的是Oracle 11g的資料庫,安裝過程並不複雜,可上網搜尋。成功安裝資料庫之後,使用oracle使用者登陸系統,然後在命令列輸入以下命令:

 

[[email protected]~]$ cd $ORACLE_HOME/bin

# 進入/home/oracle/bin目錄

 

[[email protected]]$ lsnrctl start

 -- 開啟監聽(如果監聽已經開啟了,則忽略此步驟)LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-AUG-201415:28:48 Copyright (c) 1991, 2009, Oracle. All rights reserved. Starting /oracle/11g/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 11.2.0.1.0 - ProductionSystem parameter file is /oracle/11g/network/admin/listener.oraLog messages written to/oracle/diag/tnslsnr/localhost/listener/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))STATUS of the LISTENER------------------------Alias                     LISTENERVersion                   TNSLSNRfor Linux: Version 11.2.0.1.0 - ProductionStart Date               06-AUG-2014 15:28:48Uptime                    0 days 0hr. 0 min. 0 secTrace Level               offSecurity                  ON: LocalOS AuthenticationSNMP                      OFFListener Parameter File  /oracle/11g/network/admin/listener.oraListener Log File        /oracle/diag/tnslsnr/localhost/listener/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))The listener supports no servicesThe command completed successfully

 

[[email protected]~]$ sqlplus /nolog

 -- 開啟sqlplus工具,以nolog的形式登陸SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 6 15:21:00 2014 Copyright (c) 1982, 2009, Oracle. All rights reserved.

 

SQL>conn / as sysdba

-- 以sysdba串連Connected to an idle instance.

SQL>startup

-- 啟動資料庫ORACLE instance started. Total System Global Area  422670336bytesFixed Size                  1336960bytesVariable Size             310380928bytesDatabase Buffers          104857600bytesRedo Buffers                6094848bytesDatabase mounted.Database opened.

 

(如果要關閉資料庫,可以使用以下命令)

SQL>shutdown immediate

Database closed.Database dismounted.ORACLE instance shut down.

 

下面建一個表來檢測當前資料庫是否工作正常:

 

SQL>create table testbl (id integer, name char(10));

 

Table created. -- 建立一個名為testbl的表

 

SQL>insert into testbl values(0,‘Mickey‘);

 

1 row created.-- 插入一行新資料

 

SQL>commit;

 

Commit complete.

 

SQL>select * from testbl;

 -- 能成功查詢到表testbl中的資料,說明資料庫工作正常        ID NAME---------- ----------         0 Mickey

 

 

二、實驗環境介紹

後文中使用是Oracle 11g預設安裝的資料庫,主要以HR這schema為例。以下是HR這個schema的關係表:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/45/42/wKioL1PlE9GjirsoAAH0oDgpMoc059.jpg" title="1.png" alt="wKioL1PlE9GjirsoAAH0oDgpMoc059.jpg" />

由於剛剛建立的資料庫,很多使用者是鎖住的狀態,如果要正常使用,需要先為HR使用者解鎖,下面來示範一下如何為HR使用者解鎖:

SQL> desc dba_users

 

Name                                     Null?    Type ------------------------------------------------- ----------------------- USERNAME                                  NOT NULLVARCHAR2(30) USER_ID                                   NOT NULLNUMBER PASSWORD                                          VARCHAR2(30) ACCOUNT_STATUS                            NOT NULLVARCHAR2(32) LOCK_DATE                                          DATE EXPIRY_DATE                                        DATE DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30) TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30) CREATED                                   NOT NULL DATE PROFILE                                   NOT NULLVARCHAR2(30) INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30) EXTERNAL_NAME                                     VARCHAR2(4000) PASSWORD_VERSIONS                                  VARCHAR2(8) EDITIONS_ENABLED                                   VARCHAR2(1) AUTHENTICATION_TYPE                                VARCHAR2(8)

 

SQL> select username, account_status

  2  from dba_users

  3  order by username;

 USERNAME                       ACCOUNT_STATUS--------------------------------------------------------------ANONYMOUS                      EXPIRED & LOCKEDAPEX_030200                    EXPIRED & LOCKEDEXFSYS                         EXPIRED & LOCKEDFLOWS_FILES                    EXPIRED & LOCKEDHR                             EXPIRED & LOCKED-- 這裡會看到HR 使用者被鎖住了,且密碼已到期,因此需要用管理員身份先為該使用者解鎖,並設定密碼;


 SQL> alter user hr identified by *******;

User altered.-- 使用alter命令為HR 使用者佈建密碼


 SQL> select username, account_status from dba_users;

 

USERNAME                       ACCOUNT_STATUS--------------------------------------------------------------MGMT_VIEW                      OPENSYS                            OPENSYSTEM                         OPENDBSNMP                         OPENSYSMAN                         OPENHR                             LOCKED-- HR 使用者有了密碼,但還是被鎖住了


SQL> alter user hr account unlock;

 User altered.

SQL> select username, account_status from dba_users;

 USERNAME                       ACCOUNT_STATUS--------------------------------------------------------------MGMT_VIEW                      OPENSYS                            OPENSYSTEM                         OPENDBSNMP                         OPENSYSMAN                         OPENHR                             OPEN-- HR 使用者已經解鎖了,可以以HR使用者正常登陸。

 

SQL> conn hr/******

Connected.

HR使用者成功登陸,至此,可以開始使用ORACLE資料庫進行PL/SQL的學習了


本文出自 “重劍無鋒 大巧不工” 部落格,請務必保留此出處http://wuyelan.blog.51cto.com/6118147/1537684

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.