約 4,662,345 件
https://w.atwiki.jp/kuronekosoft/pages/13.html
黒猫 SQL Studio で Oracle に接続するには、OleDB Provider または、ODBCドライバを使用します。 ここでは、OleDB Provider を使用した接続方法を説明します。 まず、ドライバはOracle提供の Oracle Provider for OLE DB を使用してください。Microsoft の Oracleドライバは、実装が不十分で使用できません。 Oracleに接続するには、Oracleクライアントが正しく設定されている必要があります。 Oracleクライアントに付属の Net Configuration Assistant や Net Manager などを使用するか、tnsnames.ora を直接編集して接続先を設定します。 正しく設定されているか確認するには、tnsping や Sql plus などを使用します。 以下の手順は、TNSの設定が正しく行われていることが前提となります。 [データベース]-[データベースに接続...]をクリックします。 [データベース接続]ダイアログの[OleDB接続]タブを選択し、[新規追加]ボタンをクリックします。 [接続名]に接続を識別する任意の名前を入力します。 [接続文字列の編集]ダイアログで[接続文字列]の[...]ボタンをクリックします。 OLE DB プロバイダの一覧から、Oracle Provider for OLE DB を選択します。 [次へ]ボタンをクリックします。 [データソース]にtnsnames.oraで設定したホスト文字列を入力します。 [ユーザー名]と[パスワード]を入力します。 必要に応じて[パスワードを保存する]にチェックします。 [接続のテスト]ボタンをクリックして、接続をテストします。 [OK]ボタンをクリックします。 [接続文字列の編集]ダイアログの[OK]ボタンをクリックします。 [データベース接続]ダイアログの[接続]ボタンをクリックします。 ご自由にコメントをお書き込みください 名前 コメント
https://w.atwiki.jp/oraclesoa/pages/6.html
Oracle Enterprise Service Bus Tips Oracle ESBでのSOAP Headerの設定方法
https://w.atwiki.jp/oraclesoa/pages/8.html
Oracle BAM
https://w.atwiki.jp/oraclesoa/pages/7.html
Oracle Web Services Manager
https://w.atwiki.jp/adsl243/pages/20.html
Enterprise Managerの使用ポート番号の確認 emctl status dbconsole 又は $ORACLE_HOME/hostname_SID/sysman/config/emd.properties のREPOSITORY_URLの項目から確認出来ます。 Enterprise Managerの使用ポート番号の変更 emca -reconfig ports -DBCONTROL_HTTP_PORT ポート番号 iSQL*Plus関連 サービスの開始 isqlplusctl start サービスの停止 isqlplusctl stop 接続先の変更(ポート番号orホスト名) ①と②のファイルを編集します。 ①vi $ORACLE_HOME¥hostname_SID¥sysman¥config¥emoms.properties 下記二点を編集 oracle.sysman.db.isqlplusUrl=http¥ //host.domain¥ 5560/isqlplus/dynamic oracle.sysman.db.isqlplusWebDBAUrl=http¥ //host.domain¥ 5560/isqlplus/dynamic ②vi $ORACLE_HOME¥oc4j¥j2ee¥isqlplus¥config¥http-web-site.xml web-site要素のport属性を変更 web-site port="5560" ...
https://w.atwiki.jp/adsl243/pages/15.html
Enterprise Manager sql*plus oracle設定関連 oracle用語集 データベース関連 ゴミ(´・ω・`)
https://w.atwiki.jp/akubi/
本運用(?) 現在、本運用(?)ページとなっています 管理人Akubiの参加bandに関する告知ページのはずです 現在、oracleではDrumsの方を大募集中です 興味をもたれた方は是非ご連絡を! このサイトへのご意見、ツッコミ等は 下記のメールへお願いします oracle-wiki●mail.goo.ne.jp (スパム対策の為●を@に置き換えて送信ください) news 2005/12/27 サイト製作開始 コンテンツ イベント情報 Blog BBS all -
https://w.atwiki.jp/wiki7_az/pages/8.html
rman でバックアップを取る dbca で rmanリポジトリ(データベース)を作成する。グローバル・データベース名 rmanrep SID rmanrep パスワード oracle キャラクタセット Unicode(AL32UTF8) 各国語キャラクタセット UTF8 oranavi で自動起動設定を ON にする。 rman ユーザを作成する。 $ export ORACLE_SID=rmanrep $ sqlplus "/ as sysdba" create user rman identified by rman quota unlimited on users; grant connect, resource, recovery_catalog_owner to rman; $ rman catalog rman/rman create catalog; connect target sys/oracle@orcl register database; backup database; rman tips Miracle Linux V4.0 で rman を使用できない $ which rman /usr/bin/X11/rman ← Oracle の rman とは別のプログラムを呼び出している。 アーカイブログ手動削除後に再同期するには crosscheck copy; delete expired copy; delete obsolete; リカバリ・カタログを更新する resync catalog; rman リポジトリの設定を確認する $ export ORACLE_SID=rmanrep rman connect target sys/manager@orcl.db01.oracle.co.jp connect catalog rman/rman@rmanrep show all RMAN 20003 エラーが発生する場合 reset database; DBA SQL DDL取得 set pagesize 0 SELECT DBMS_METADATA.GET_DDL( TABLE , USER_TABLES.TABLE_NAME), DBMS_METADATA.GET_DEPENDENT_DDL( INDEX , USER_TABLES.TABLE_NAME) FROM USER_TABLES; 表ロック調査 COL USERNAME FOR A8 COL OBJECT_NAME FOR A8 COL LMODE FOR 9999 COL PROGRAM FOR A8 COL CTIME FOR 9999 SELECT S.USERNAME, S.SID, S.SERIAL#, O.OBJECT_NAME, LMODE, V.CTIME, S.PROGRAM FROM DBA_OBJECTS O, V$LOCKED_OBJECT L, V$SESSION S, V$LOCK V WHERE O.OBJECT_ID = L.OBJECT_ID AND L.SESSION_ID = S.SID AND L.SESSION_ID = V.SID AND V.TYPE = TM ORDER BY CTIME DESC; 行ロック調査 SELECT S.USERNAME, S.SID, S.SERIAL#, O.OBJECT_NAME, LMODE, V.CTIME, S.PROGRAM FROM DBA_OBJECTS O, V$LOCKED_OBJECT L, V$SESSION S, V$LOCK V WHERE O.OBJECT_ID = L.OBJECT_ID AND L.SESSION_ID = S.SID AND L.SESSION_ID = V.SID AND V.TYPE = TX ORDER BY CTIME DESC; SQL調査 SELECT A.SQL_TEXT, A.ADDRESS FROM V$SQLAREA A, V$SESSION B WHERE A.ADDRESS = B.SQL_ADDRESS AND B.SID = ANY(SELECT SID FROM V$LOCK WHERE TYPE IN ( TX , TM )); 統計情報収集(スキーマ単位) BEGIN DBMS_STATS.GATHER_SCHEMA_STATS ( ownname = スキーマ名 , options = GATHER AUTO ); END; / 統計情報収集(テーブル単位) BEGIN DBMS_STATS.GATHER_TABLE_STATS( OWNNAME = スキーマ名 ,TABNAME = テーブル名 ); END; / 統計情報収集日付の確認 SELECT TABLE_NAME NAME, LAST_ANALYZED FROM USER_TABLES ORDER BY TABLE_NAME; 統計情報の内容確認 SELECT TABLE_NAME, NUM_ROWS, AVG_ROW_LEN, BLOCKS FROM USER_TABLES ORDER BY TABLE_NAME; セッションを強制終了する SELECT SID|| , ||SERIAL#|| , ||STATUS|| , ||USERNAME FROM V$SESSION WHERE USERNAME = C_LIVE ; SID|| , ||SERIAL#|| , ||STATUS|| , ||USERNAME --------------------------------------------- 199,7860,INACTIVE,C_LIVE 213,6979,INACTIVE,C_LIVE ALTER SYSTEM KILL SESSION 199,7860 ALTER SYSTEM KILL SESSION 213,6979 DBID を確認する $ sqlplus "/ as sysdba" select dbid from v$database; select username, default_tablespace from dba_users; select FILE_NAME, TABLESPACE_NAME from dba_data_files; http //www.dbforums.com/archive/index.php/t-1066637.html select dbms_metadata.get_ddl( TRIGGER , name , owner ) from dual; ユーザ作成 $ sqlplus /nolog connect / as sysdba create user scott profile default identified by tiger default tablespace user01 temporary tablespace temp account unlock; grant resource, connect to amashin; quit; UNDO保存を保証する。 select tablespace_name, retention from dba_tablespaces; alter tablespace UNDOTBS1 retention guarantee; データファイルの自動拡張を有効化する。 select file_name, tablespace_name from dba_data_files; select autoextensible, tablespace_name from dba_data_files; alter database datafile /opt/app/oracle/oradata/orcl/undotbs01.dbf autoextend on; ユーザのアカウントロックを解除する。 -- ロック解除 alter user SCOTT account unlock; -- パスワード変更 $ sqlplus scott/tiger SCN からタイムスタンプを求める。 select current_scn scn, scn_to_timestamp(current_scn) timestamp from v$database; タイムスタンプから SCN を求める。 select timestamp_to_scn(systimestamp) scn, systimestamp timestamp from dual; SQL*Plus CSV書き出し set linesize 1000 set pagesize 0 set trimspool on spool user_data.txt select " ||id|| "," ||name|| " from users; シノニム PUBLICシノニムを作成する $ sqlplus "/ as sysdba" CREATE PUBLIC SYNONYM emp FOR scott.emp; シノニムを削除する drop public synonym samplelink; データベースリンク データベースリンクの定義を確認する $ export ORACLE_SID=orcl $ sqlplus "/ as sysdba" select owner,db_link,username,host,created from dba_db_links; データベースリンクを作成する $ export ORACLE_SID=orcl $ sqlplus "/ as sysdba" create public database link samplelink connect to scott identified by tiger using orcl.db01.oracle.co.jp ; データベースリンクを使用する $ export ORACLE_SID=orcl $ sqlplus scott/tiger select * from emp@samplelink データベースリンクを削除する drop public database link samplelink; スタンドバイ・データベースを rman でバックアップすると、ORA-19573 エラーが発生する 症状 ORA-19573 cannot obtain sub-shared enqueue for datafile 6 原因 RMAN in version 9.2.0.1 のバグです。(bug 2688591 (TAR 2708247.999)) 処置方法 SQL shutdown immediate; SQL startup nomount; SQL alter database mount standby database; SQL alter database recover managed standby database disconnect from session; 参考情報 http //www.trivadis.ch/Images/standbybackup_en_tcm17-7294.pdf If you create a new tablespace on the primary database, perform a logfile switch and want to back up this tablespace on the standby database,RMAN in version 9.2.0.1 aborts with an error RMAN backup tablespace test; ORA-19573 cannot obtain sub-shared enqueue for datafile 6 This behavior has now been accepted as bug 2688591 (TAR 2708247.999). But there is a workaround stopping and starting the standby database, after which the backup works correctly. export/import 全データベースモードでエクスポートする $ export ORACLE_SID=orcl $ exp system/パスワード file=fulldump.dmp log=fulldump.log full=y ユーザーモードでエクスポートする $ export ORACLE_SID=orcl $ exp scott/tiger file=scott.dmp owner=scott ユーザーモードでインポートする $ imp scott/tiger file=sccot.dmp fromuser=sccot touser=sccot destroy=y ignore=y ORA-19809 リカバリ・ファイルの制限を超えています pfile の db_recovery_file_dest_size を増やす。 $ export ORACLE_SID=devel $ sqlplus "/ as sysdba" SQL create pfile= $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora from spfile; SQL exit $ vi $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora 編集した pfile から spfile を作成する。 $ cd $ORACLE_BASE/admin/$ORACLE_SID/pfile $ mv init$ORACLE_SID.ora init$ORACLE_SID.ora.org $ sqlplus "/ as sysdba" SQL create spfile from pfile= $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora ; SQL startup 参考 14 ORA-19400~ORA-24276 SQL*Loader コマンド $ export ORACLE_SID=orcl $ sqlldr userid=user01/******** control=testtbl.ctl data=testtbl.dat シーケンスを使用する(参考URL) LOAD DATA CHARACTERSET JA16SJIS INTO TABLE T_COMPANY_RAW FIELDS TERMINATED BY , trailing nullcols (ID "SEQ_COMPANY_RAW_ID.NEXTVAL", CORP_TYPE, NAME, ・ ・ FUTURE) 改行があるデータの流し込み load data CHARACTERSET JA16SJIS append continueif last != " into table test_table fields terminated by , enclosed by " ( ID, NAME, VALUE, TESTDATE DATE "YYYYMMDD") 日付データの流し込み load data CHARACTERSET JA16SJIS append into table t_answers fields terminated by , trailing nullcols ( id, campaign_id, user_id, registered "to_date( registered, YYYY/MM/DD HH24 MI SS )" ) 「データ・ファイルのフィールドが最大長を超えています。」 load data CHARACTERSET JA16SJIS append into table t_encourage fields terminated by , ( ID, CAT2_ID, MAILBODY char(4000)) Oracle 10g R10.2.0.1 インストール (MiracleLinuxV3.0) memoRPM を更新してから Oracle をインストールする DHCP を使用している場合、一時的にTCP/IPの設定で固定IPアドレスを割り当ててから、Oracle をインストールする ダウンロードOracle 10g R10.2.0.1 をダウンロードする rootユーザでログインする ランレベルを 5 に変更する # init 5 oranavi を起動する # oranavi Oracle DBMS のインストール全てデフォルト設定でインストール Oracle 9i R9.2.0.4.0 インストール後に必要な作業 Run the following commands and scripts in order from $ORACLE_HOME in migrate mode on all updated databases. If you are using the OLAP option, then ensure the database listener is up. $ sqlplus "/ as sysdba" startup migrate spool patch.log @?/rdbms/admin/catpatch.sql shutdon immediate startup This step is optional, and will recompile all invalid PL/SQL packages now instead of when the packages are accessed the first time. The utlrcmp.sql script can be used to parallelize this in multiprocessor machines. @?/rdbms/admin/utlrp.sql Enter the following commands if using Oracle OLAP option alter user olapsys identified by password account unlock; connect olapsys/password @?/cwmlite/admin/postamd.sql ORA-06512 → 参考URL 現象 ORA-00604 error occurred at recursive SQL level 1 ORA-06521 PL/SQL Error mapping function ORA-06512 at "SYS.OLAPIHISTORYRETENTION", line 1 ORA-06512 at line 6 原因 BUG 3386542 処置 (metalink Note 266728.1) Disable OLAPISTARTUPTRIGGER and OLAPISHUTDOWNTRIGGER to avoid error from being generated. ALTER TRIGGER OLAPISTARTUPTRIGGER DISABLE; ALTER TRIGGER OLAPISHUTDOWNTRIGGER DISABLE; rmanでデータベースを複製する 前提条件Miracle Linux V3.0 Oracle 10g Standard Edition ターゲット・データベースへ接続できるようにする $ vi /opt/app/oracle/product/10.1.0/db_1/network/admin/tnsnames.ora ACCOUNT1.DB01.ORACLE.CO.JP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = account1.db01.oracle.co.jp) (SERVER = DEDICATED) ) ) ACCOUNT1.RESEARCH01.ORACLE.CO.JP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.102)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = account1.oracle.co.jp) (SERVER = DEDICATED) ) ) $ vi /opt/app/oracle/product/10.1.0/db_1/network/admin/listener.ora (SID_DESC = (GLOBAL_DBNAME = account1.db01.oracle.co.jp) (ORACLE_HOME = /opt/app/oracle/product/10.1.0/db_1) (SID_NAME = account1) ) $ sqlplus scott/tiger@account1.db02.oracle.co.jp ターゲット・データベースのバックアップ (複製側) # su - oracle $ mkdir -p /opt/app/oracle/oradata/account1/backups ← ターゲットデータベース側・複製側の両方で作成する $ export ORACLE_SID=orcl $ sqlplus /nolog conn / as sysdba create user rman identified by rman temporary tablespace temp default tablespace users quota unlimited on users; grant recovery_catalog_owner, connect, resource to rman; $ rman catalog rman/rman@orcl connect target sys/manager@account1.db01.oracle.co.jp; create catalog; register database; configure retention policy to redundancy = 1; configure controlfile autobackup on; configure controlfile autobackup format for device type disk to /opt/app/oracle/oradata/account1/backups/%F ; backup database format /opt/app/oracle/oradata/account1/backups/full_%d_%T_s%s_p%p ; backup archivelog all delete all input format /opt/app/oracle/oradata/account1/backups/arc_%d_%T_s%s_p%p ; 補助データベースを作成する $ orapwd file=/opt/app/oracle/product/10.1.0/db_1/dbs/orapwaccount1 password=manager entries=30 force=y alter system set remote_login_passwordfile= EXCLUSIVE scope=spfile; shutdown immediate startup force nomount show parameters remote_login_passwordfile; $ cd /opt/app/oracle/admin/account1/ $ mkdir pfile bdump cdump create udump $ cd /opt/app/oracle/admin/account1/pfile $ vi initaccount1.ora DB_NAME=account1 CONTROL_FILES=(/opt/app/oracle/oradata/account1/control01.ctl, /opt/app/oracle/oradata/account1/control02.ctl, /opt/app/oracle/oradata/account1/control03.ctl) $ export ORACLE_SID=account1 $ sqlplus "/ as sysdba" create spfile from pfile= /opt/app/oracle/admin/account1/pfile/initaccount1.ora ; startup force nomount $ lsnrctl start $ rman target sys/manager@account1.db01.oracle.co.jp auxiliary sys/manager@account1.db02.oracle.co.jp duplicate target database to account1 nofilenamecheck; duplicate target database for standby nofilenamecheck; フラッシュバックドロップ ごみ箱の中を見る。 SELECT original_name, type, ts_name, droptime, dropscn, object_name FROM user_recyclebin; テーブルをリストアする。 flashback table test to before drop; インデックスをリストアするテーブルをリストアすると、インデックスや制約も復活するが、名前はごみ箱の中の時のままなので、手動でリネームする。 select index_name from user_indexes where table_name = TEST ; alter index "BIN$ExUXY+Nfh9zgQAB/AQAI6g==$0" rename to PK_TEST; ごみ箱を空にする。 purge dba_recyclebin; purge user_recyclebin; purge tablespace user01 user test; purge table test; purge index pk_test; ごみ箱を介さずに削除する。 drop table test purge; drop user scott cascade; drop tablespace user01 including contents; フラッシュバックデータベースを有効にする DB_RECOVERY_FILE_DEST、DB_RECOVERY_FILE_DEST_SIZE が設定されているか確認する。 select name,value from v$parameter where name like db_recovery_file_dest% ; 設定されていなければ、設定する。 alter system set db_recovery_file_dest= /opt/app/oracle/flash_recovery_area scope =both; alter system set db_recovery_file_dest_size = 2147483648 scope = both; アーカイブログモードにする。 shutdown immediate startup mount alter database archivelog; alter database open; archive log list; フラッシュバックログの保存期間を確認する。 select name, value from v$parameter where name = db_flashback_retention_target ; フラッシュバックデータベース機能を有効化する。 shutdown immediate startup mount alter database flashback on; alter database open select log_mode, flashback_on from v$database; どの時点までフラッシュバックできるか確認する。 select flashback_size/1024/1024 "SIZE(M)", estimated_flashback_size/1024/1024 "EST_SIZE(M)", oldest_flashback_scn, to_char(oldest_flashback_time, YYYY-MM-DD HH24 MI SS ) from v$flashback_database_log; フラッシュバックデータの書き込みサイズを確認する。 select to_char(begin_time, HH24 ) hour, flashback_data/1024 "FLASHBACK_DATA(K)", redo_data/1024 "REDO_DATA(K)" from v$flashback_database_stat; フラッシュバックデータベースを実行する SQL shutdwon immediate SQL startup mount SQL flashback database to scn 608964; SQL flashback database to time "to_timestamp( 06-05-06 22 41 00.059098 )"; RMAN flashback database to scn 608964; RMAN flashback database to time "to_timestamp( 06-05-06 22 41 00.059098 )"; RMAN flashback database to sequence 1 thread 1; データベースをオープンする。 shutdown immediate startup mount alter databse open read only; -- 読み取り専用でオープンする場合 alter database open resetlogs; -- 読み書き可能でオープンする場合 フラッシュバックログから表領域を除外する alter tablespace example flashback off; select name, flashback_on from v$tablespace; ブロック破損 ブロック破損の診断 $ dbv file=/opt/app/oracle/oradata/orcl/system01.dbf SQL analyze table test validate structure cascade; SQL analyze index pk_test validate structure; rman で物理破損ブロックを検出する。 RMAN backup validate datafile 1; SQL select * from v$database_block_corruption; rman で論理破損ブロックを検出する。 RMAN backup check logical datafile 1; rman で物理破損チェックを行わずにバックアップを行う。 RMAN backup nochecksum datafile 1; 破損ブロックを含んだままバックアップをとる。 RMAN run { set maxcorrupt for datafile /opt/app/oracle/oradata/orcl/system01.dbf to 2; backup datafile /opt/app/oracle/oradata/orcl/system01.dbf ; } rman によるブロックメディアリカバリ RMAN blockrecover datafile 1 block 1; RMAN blockrecover corruption list; 簡単なジョブの作成 ジョブを作成する $ export ORACLE_SID=rmanrep $ sqlplus "/ as sysdba" BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name = SYS.BACKUP , job_type = EXECUTABLE , job_action = /home/oracle/devel/shell/backup.sh , start_date = SYSTIMESTAMP, repeat_interval = FREQ=DAILY;BYHOUR=5;BYMINUTE=0 , enabled = TRUE, auto_drop = FALSE, comments = ORCLデータベースのバックアップ ); END; / ジョブを削除する BEGIN DBMS_SCHEDULER.DROP_JOB(job_name = sys.backup ); END; / プログラムとスケジュールを使用したジョブの作成 SCOTTユーザに CREATE JOB 権限を与える $ export ORACLE_SID=orcl $ sqlplus "/ as sysdba" GRANT CREATE JOB TO SCOTT; CONNECT SCOTT/TIGER; ストアドプロシージャの作成 CREATE OR REPLACE PROCEDURE test_del( p_id test.id%TYPE) AS BEGIN DELETE FROM test WHERE ID = p_id; END test_del; / プログラムの作成 BEGIN -- プログラムの作成 DBMS_SCHEDULER.CREATE_PROGRAM( program_name = SCOTT.TEST_PROGRAM , program_type = STORED_PROCEDURE , program_action = SCOTT.TEST_DEL , number_of_arguments = 1, enabled = FALSE, comments = TEST表のDELETE ); -- プログラム引数の定義 DBMS_SCHEDULER.DEFINE_PROGRAM_ARGUMENT( program_name = SCOTT.TEST_PROGRAM , argument_name = P_ID , argument_position = 1, argument_type = NUMBER ); -- プログラムの有効化 DBMS_SCHEDULER.ENABLE( SCOTT.TEST_PROGRAM ); END; / スケジュールの作成 BEGIN DBMS_SCHEDULER.CREATE_SCHEDULE( schedule_name = SCOTT.MONTHLY_SCHEDULE , start_date = SYSTIMESTAMP, repeat_interval = FREQ=MONTHLY;BYMONTHDAY=15 , comments = 毎月15日実行 ); END; / プログラムとスケジュールを利用したジョブの作成 BEGIN DBMS_SCHEDULER.CREATE_JOB( job_name = SCOTT.TEST_JOB , program_name = SCOTT.TEST_PROGRAM , schedule_name = SCOTT.MONTHLY_SCHEDULE , enabled = FALSE, auto_drop = FALSE, comments = TEST表のDELETE ); DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name = SCOTT.TEST_JOB , argument_name = P_ID , argument_value = 10 ); DBMS_SCHEDULER.ENABLE( SCOTT.TEST_JOB ); END; / PL/SQL PL/SQL実行後、エラーを表示する。 SHOW ERROR DBMS_OUTPUT.PUT_LINE などでの画面出力を有効にする。 SET SERVEROUTPUT ON
https://w.atwiki.jp/dellkeitai/pages/19.html
トレース select to_char(last_load_time, hh24 MI SS ) as time , LOADS,EXECUTIONS,sql_text from V$SQLAREA where sql_text like %% v$sqlareaのクリア alter system flush shared_pool 接続できない。 ORA-12154 TNS 指定された接続識別子を解決できませんでした Net Confifuration Assistantを設定 「リスナー構成」-「追加」 「ローカル・ネット・サービス名構成」-「追加」 これでOK SQLPLUSフォーマット col 列名 for A10 列名 の幅を10文字にする 履歴機能 linuxではrlwrap(readline wrapper)のインストールが必要 startup時に文字化け Redo Buffersの後に??????の場合は、NLS_LANGが設定されていない NLS_LANG=Japanese_Japan.AL32UTF8 (Windows)set NLS_LANG=Japanese_Japan.JA16SJIS .bash_profileに設定する項目 ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 ORACLE_SID NLS_LANG 文字コード 標準ネーミング規則は Language bit size encoding ALはAll Languagesの略 各国語キャラクタ・セット パスワードが期限切れ ORA-28001 11gXE R2で8080が使われる XML DBで8080や2100が使われている。 失敗1 「C \oraclexe\app\oracle\product\11.2.0\server\database\」にはspfileは無いが、initXE.oraは存在する。 initXE.oraのファイルを開くと、 SPFILE= C \oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora という記述がある。 同じフォルダ(C \oraclexe\app\oracle\product\11.2.0\server\dbs)にinit.oraがある 別の場所にコピーする。(Windows7では直接編集できない) 「dispatchers= (PROTOCOL=TCP) (SERVICE=ORCLXDB) 」をコメントにする init.oraを上書きコピーする。 失敗2 「create pfile from spfile」でinitXE.oraを作成 以下の行を削除する dispatchers= (PROTOCOL=TCP) (SERVICE=XEXDB) データベースを停止し、リスナも停止する。 成功 sqlplus /nolog conn sys/パスワード as sysdba SQL @?/rdbms/admin/catxdbdbca.sql 0 0 バインド値の確認 select u.username, s.module, s.sql_id, s.sql_text, c.name, c.datatype_string, c.value_string from v$sql s, v$sql_bind_capture c, all_users u where s.parsing_user_id = u.user_id and c.sql_id = s.sql_id and c.child_address = s.child_address and s.sql_text like select * from emp where deptno=%
https://w.atwiki.jp/oraclesoa/pages/25.html
Oracle ESBでのSOAP Headerの設定方法 SOAPサービスからWebサービスを呼出す際に、SOAPヘッダーを付加してサービス を呼出す方法を紹介します。 ルーティング・サービスが以下のようなSOAPメッセージを受信した際に、受信し たSOAPヘッダをそのまま引き継いで、サービスを呼出す方法を例にとり説明をす すめます。 soap Envelope xmlns soap="http //schemas.xmlsoap.org/soap/envelope/" soap Header ns1 User xmlns ns1="http //xmlns.oracle.com/headertest/" ns1 Username testuser /ns1 Username /ns1 User /soap Header soap Body xmlns ns2="http //xmlns.oracle.com/test/" ns2 execute ns2 input 1234 /ns2 input /ns2 execute /soap Body /soap Envelope 設定手順は、以下の通りです。 1. ルーティング・サービスを作成し、ルーティング・ルールを追加。ルーティ ング先を設定する。 2. トランスフォーメーションの設定で、新規マッパー・ファイルを作成 3. XSLTマッパーの設定画面が開くので、画面右上部にある「 ターゲット 」を 右クリックし、「変数の追加」を選択。 4. ローカル名に任意の名称(ここではINPUT)を入力し、[XPath式]に以下の式を 入力し、OKボタンをクリック ehdr getRequestHeader( /soap Header/ns1 User/ns1 Username , ns1=http //xmlns.oracle.com/headertest/;soap=http //schemas.xmlsoap.org/soap/envelope/; ) 5. 再度、「 ターゲット 」を右クリックし、「変数の追加」を選択。 ローカル名に任意の名称を入力し、[XPath式]に以下の式を入力し、OKボタンを クリック (二番目の引数は$のあとに手順4で設定したローカル名を指定) ehdr setOutboundHeader( /ns1 User/ns1 Userbname ,$INPUT, ns1=http //xmlns.oracle.com/headertest/; ) 以上で設定が完了です。 それぞれの関数の引数は、以下の意味を持ちます。 getRequestHeader 第一引数 → 取得したいSOAPヘッダー要素を示すXPath式 soap Headerより開始 第二引数 → セミコロン区切りで第一引数で使用した名前空間の宣言 setOutboundHeader 第一引数 → 設定したいSOAPヘッダー要素を示すXPath式 getRequestHeaderと異なり、soap Headerの子要素から指定 第二引数 → 第一引数で指定した要素に対する設定値 第三引数 → セミコロン区切りで第一引数で使用した名前空間の宣言 setOutboundHeaderを使用してSOAPヘッダーを設定する際には、soap Headerの子 要素を複数もてません。 つまり、以下の例1のような設定は可能ですが、例2のような設定はできません。 soap Headerに複数の子要素を持つと実行時にエラーになります。 例1) soap Header ns1 User xmlns ns1="http //xmlns.oracle.com/headertest/" ns1 Username testuser /ns1 Username ns1 Password testuser /ns1 Password /ns1 User /soap Header 例2) soap Header xmlns ns1="http //xmlns.oracle.com/headertest/" ns1 Username testuser /ns1 Username ns1 Password testuser /ns1 Password /soap Header