Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          關于login.sql
          ?
          ??? 最近遇到一個問題,在sqlplus首次登錄時,會調用login.sql,顯示指定的SQLPROMPT,但是當再次使用connect命令連接其他用戶時,顯示的SQLPROMPT一直無法改變,而且重新connect之后所有在login.sql中設置的屬性也全部丟失。找了很久原因之后才發現原來是因為Oracle的版本問題,9i中只能在初次登錄sqlplus時才會去調用login.sql,而在10g之后,每次connect都會調用該腳本。
          ?
          ??? 下面看一個轉載的文章,說的比較清楚:注意紅色粗體部分。
          ?
          ---------------------------------------------------------------------------------------------------------
          ?
          Storing settings for SQL*PLUS (login.sql and glogin.sql)
          ?
          glogin.sql

          ??? Whenever SQL*PLUS starts up, it looks for a file namedglogin.sql under the directory $ORACLE_HOME/sqlplus/admin. If such a file is found, it is read and the containing statements executed. This allows to store settings (such as linesize) accross SQL*PLUS sessions.
          ?
          ??? New in Oracle 10g: Oracle also reads glogin.sql and login.sql at a connect in sql*plus.

          ?
          login.sql

          ??? Additionally, after reading glogin.sql, sql*plus also looks for a file named login.sql in the directory from where SQL*PLUS was and in the directory that the environment variable SQLPATHpoints to and reads it and executes it. Settings from the login.sql take precedence over settings from glogin.sql
          ?
          ??? If the restriction level is set to 3, the login.sql is not read.

          ?
          A common login.sql file
          ??? set pagesize 0
          ??? set linesize 190
          ??? define _editor=gvim
          ?
          ??? 10g
          ??? Since Oracle 10g, the login.sql is executed after a connect.
          ??? This allows to have a prompt that displays the username.
          ??? For that, the following line must be in the login.sql:
          ??? set sqlprompt "&_user> "
          ?
          ------------------------------------------------------------------------------------------------------------
          ?
          ??? 同時在10g官方文檔《SQLPlus User's Guide and Reference》里也有記載,設置SQLPLUSCOMPATIBILITY可以改變sqlplus某些屬性,其中就包括glogin/login的讀取:
          ?
          ?
          SET SQLPLUSCOMPATIBILITY {x.y[.z]}
          ?
          Value ?? Consequence ???????????????????????????????????????????????? ?????? When available
          >=10.1 ? SHOW ERRORS sorts PL/SQL error messages using new?????????????????? 10.1
          ???????? columns only available in Oracle Database 10g.
          >=10.1 ? SPOOL Options CREATE, REPLACE, SAVE were added which??????????????? 10.1
          ???????? may affect filename parsing on some platforms.
          >=10.1 ? SET SQLPROMPT ???????????????????????????????????????? ???????????? 10.1
          >=10.1 ? Whitespace characters are allowed in Windows file names that??????? 10.1
          ???????? are enclosed in quotes. Some other special punctuation characters
          ???????? are now disallowed in Windows.
          >=10.1 ? Glogin/login files are called for each reconnect. ????????????????? 10.1
          ?<10.1 ? Uses the obsolete DOC> prompt when echoing /* comments. ??????????? 10.1
          ?>=9.2 ? A wide column defined FOLD_AFTER may be displayed at the??????????? 9.2.
          ???????? start of a new line. Otherwise it is incorrectly put at the end
          ???????? of thepreceding line with a smaller width than expected.
          ?>=9.0 ? Whitespace before a slash ("/") in a SQL statement is ignored and?? 9.0.1.4.
          ???????? the slash is taken to mean execute the statement. Otherwise the
          ???????? slash is treated as part of the statement, for example, as a
          ???????? divisionsign.
          ?>=9.0 ? The length specified for NCHAR and NVARCHAR2 types is?????????????? 9.0.1
          ???????? characters. Otherwise the length may represent bytes or
          ???????? characters depending on the character set.
          ?
          ?
          posted on 2009-03-11 23:49 decode360 閱讀(218) 評論(0)  編輯  收藏 所屬分類: 05.SQL
          主站蜘蛛池模板: 石林| 平和县| 安达市| 镇雄县| 内丘县| 马关县| 松原市| 牟定县| 灵丘县| 修武县| 晋宁县| 门头沟区| 湖南省| 山阴县| 安远县| 沙洋县| 横峰县| 黄冈市| 建德市| 涡阳县| 黑龙江省| 黔南| 峨眉山市| 阳谷县| 安国市| 边坝县| 烟台市| 定兴县| 远安县| 孝义市| 伊川县| 喀什市| 灵璧县| 陕西省| 宁波市| 宿迁市| 阳泉市| 鄂托克前旗| 通辽市| 讷河市| 东明县|