オクラホマ大学のキャンパスに隣接するノーマン最大の公園、リーブズ公園では、毎年3月末もしくは4月初めの週末の3日間、中世をテーマとした遊戯、芸術、文化の祭典であるメディーバル・フェアが行われる。1976年から開催されているこの祭りは、もともとはオクラホマ大学の英文学科がフォーラムとして行っていたものであった。音楽祭や芸術祭もいくつか開催される。4月末の週末には市中心部で、様々な形態・スタイルの音楽の演奏が行われるノーマン音楽祭が開かれる。市中心部にあるアンドリュース公園では年2回、春と秋にアムネスティ・インターナショナルのオクラホマ大学支部主催で、人権に対する意識を高めることを目的としたグルーブフェストという音楽祭が行われる。また、5月初めの週末には同じくアンドリュース公園でメイ・フェアという芸術祭が開かれる。6月には、ライオンズ公園内のファイアーハウス芸術センターでミッドサマー・ナイツ・フェアという芸術祭が開かれる。6月に開かれるジャズ・イン・ジューンというイベントでは、ノーマン市内の各所でジャズの演奏が行われるほか、プロのジャズミュージシャンによるクリニックも行われる。5月から9月にかけてはサマー・ブリーズ・コンサート・シリーズと呼ばれる、一連のコンサートがノーマン市内の各所で開かれる。また、市中心部では、マルディ・グラやクリスマスにはパレードが行われる。
オクラホマ大学はスポーツの面でもノーマンの地域文化の中心となっている。オクラホマ大学のスポーツチーム、スーナーズはNCAAのディビジョンIに属するビッグ12カンファレンスに所属しており、男子9種目、女子10種目で競っている。特にフットボールチームは全米有数の強豪であり、これまでに7度の全米優勝に輝き、5人のハイズマン賞受賞者を輩出し、NFLにも多数の人材を送り込んできた。1953年から1957年にかけては、スーナーズは47連勝の記録を作った。この記録は現在でも破られていない。ビッグ12カンファレンスは激戦区の1つであるが、特にテキサス大学ロングホーンズとは1900年からレッド・リバー・シュートアウトと呼ばれるライバル関係を築いている（名称はオクラホマ州とテキサス州の州境を流れるレッド川に由来する）。初期は他の試合と同じように隔年のホーム・アンド・アウェーで行われてきたが、1932年以降は毎年10月中旬に、中立フィールドとなるダラスのコットン・ボウルで行われている。1996年以降はこのカードが同一カンファレンス内の対戦となったため、オクラホマ・スーナーズ、テキサス・ロングホーンズのいずれにとっても重要度が増した。スーナーズのフットボールチームはキャンパス内のゲイロード･ファミリー・オクラホマ・メモリアル・スタジアムを本拠にしている。このスタジアムは82,112人を収容する、全米の大学で14番目、ビッグ12カンファレンスでは3番目に大きいスタジアムである。
※注 DBMS_OUTPUTの出力先を、SQL*PlusというSQLの対話型インターフェースにする場合は、以下のSQL*Plusの設定を行うこと。端末など標準出力への操作はPL/SQLエンジンがネイティブに持つ機能ではなく、ユーティリティ・ツールの機能に依存するためである。 SET SERVEROUTPUT ON無名ブロックの例 DECLARE    hw    VARCHAR2(100) := 'Hello World!'; BEGIN    DBMS_OUTPUT.PUT_LINE('Hello World!') ;    DBMS_OUTPUT.PUT_LINE('VARIABLE hw = '||hw) ; END; /ストアドプロシージャの例 CREATE OR REPLACE PROCEDURE helloworld (str IN VARCHAR2) AS    /* 定義部は AS から BEGIN となる。*/    hw    VARCHAR2(100) := 'Hello World!'; BEGIN    DBMS_OUTPUT.PUT_LINE('Hello World!') ;    DBMS_OUTPUT.PUT_LINE('VARIABLE hw = '||hw) ;    DBMS_OUTPUT.PUT_LINE('Parameter str = '||str) ; END; /例外処理の例 DECLARE     FNAME    EMP.ename%TYPE ;  BEGIN     SELECT ename INTO fname FROM emp ; EXCEPTION     WHEN TOO_MANY_ROWS THEN  -- 定義済み例外識別子        DBMS_OUTPUT.PUT_LINE('行が多すぎます') ;     WHEN NO_DATA_FOUND THEN        DBMS_OUTPUT.PUT_LINE('レコードが1件もありません') ;     WHEN OTHERS THEN -- その他の例外はすべてここでキャッチ        DBMS_OUTPUT.PUT_LINE('Oracle エラー :'||SQLERRM) ; END; /カーソル処理の例(制御構造も多少) DECLARE     CURSOR c1 IS         SELECT ename FROM EMP ;     FNAME    EMP.ename%TYPE ;  BEGIN     /* カーソルc1をオープンし、全てのレコードをフェッチしきるまでループする          フェッチ毎に 表empのカラムenameを取得しつつ表示する */     OPEN c1 ;     LOOP         FETCH c1 INTO fname ;         EXIT WHEN c1%NOTFOUND; -- カーソル状態をチェック          DBMS_OUTPUT.PUT_LINE(fname);         IF length(fname) < 5 THEN  -- 文字列の長さチェック             DBMS_OUTPUT.PUT_LINE('→ TOO SHORT') ;         ELSE             DBMS_OUTPUT.PUT_LINE('→ TOO LONG!');         END IF ;     END LOOP ;     CLOSE c1 ; EXCEPTION     WHEN OTHERS THEN -- その他の例外はすべてここでキャッチ        DBMS_OUTPUT.PUT_LINE('Oracle エラー :'||SQLERRM) ; END ; /