約 4,634,279 件
https://w.atwiki.jp/pokese/pages/18.html
インストール 1.インストールの実行 Oracle10gの試用版をダウンロードしてきて解凍しました。(省略) 解凍したディレクトリ:/home/oracle/Oracle10g ユーザ「oracle」でログインして以下を実行します。 $ /home/oracle/Oracle10g/runInstaller しばらくすると。。。 インストーラ要件の確認中... オペレーティング・システムのバージョンを確認中 必須redhat-3, SuSE-9, redhat-4,UnitedLinux-1.0, asianux-1 or asianux-2 失敗しました あれ? どうやら未対応のLinuxディストリビューションの用です(;_;) どうしようか考えた挙げく...インストールスクリプト書き換えます! ま〜勉強用なので。。。 cp /home/oracle/Oracle10g/install/oraparam.ini /home/oracle/oraparamVine.ini vi /home/oracle/oraparamVine.ini 以下の部分を修正します。 [Certified Versions] Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,vine-4.1 ← vine-4.1追加 [Linux-vine-4.1-optional] ← 以下4行を追加 TEMP_SPACE=40 SWAP_SPACE=150 MIN_DISPLAY_COLORS=256 修正が終わったら起動オプションでファイルを指定します。 /home/oracle/Oracle10g/runInstaller -paramFile /home/oracle/oraparamVine.ini 以下の用にメッセージが表示されUniversal Installerが起動します。 インストーラ要件の確認中... オペレーティング・システムのバージョンを確認中 必須redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1, asianux-2 or vine-4.1 問題なし ※ちゃんとvine-4.1が追加されています。 しかしこれでもOUIの前提条件で止まってしまいました・・・ しょうがないので前提条件チェックをOFFにして実行します。 $ /home/oracle/Oralce10g/runInstaller -ignoreSysPrereqs 要求された前提条件の失敗を無視しています。続行中... これで大丈夫なのだろうか。。。 2.Universal Installer の設定 2-1.「ようこそ」画面 [次へ]ボタンクリック 2-2.「インストールタイプの選択」画面 [EnterpriseEdition]を選択して[次へ]ボタンクリック 2-3.「ホームの詳細の指定」画面 名前 OraDb10g_home1 パス /u01/app/oracle/product/10.2.0 [次へ]ボタンクリック 2-4.「製品固有の前提条件チェック」画面 やっぱりOSチェックエラーになりました。。。が [次へ]ボタンクリックで強行します。 ※表示される警告メッセージも無視w 2-5.「構成オプションの選択」画面 [データベース作成]を選択して[次へ]ボタンクリック 2-6.「データベース構成の選択」画面 学習用なので[汎用目的]を選択して[次へ]ボタンクリック 2-7.「データベース構成オプションの指定」画面 グローバルデータベース名 orcl SID orcl データベース・キャラクタセットの選択 日本語JA16SJIS サンプル・スキーマ付きデータベースを作成 ON ※サンプル・スキーマは学習用なのでONにしました。業務ではOFFですね。 [次へ]ボタンクリック 2-8.「データベース管理オプションの選択」画面 [データベース管理にDatabase controlを使用する」を選択 [次へ]ボタンクリック 2-9.「データベース記憶領域」画面 [ファイルシステム]を選択し「/u02/oradata/」を入力 [次へ]ボタンクリック 2-10.「バックアップ・オプションおよびリカバリ・オプションの指定」画面 [自動バックアップを有効にしない]を選択 [次へ]ボタンクリック 2-11.データベース・スキーマのパスワード指定 各アカウントへパスワードを入力 SYS password SYSTEM password SYSMAN password DBSNMP password [次へ]ボタンクリック 2-12.「サマリー」画面 長い設定も完了して[インストール]ボタンをクリックしてインストール開始です。 これで順調にいくのかと思ったら。。。コンフィギュレーション・アシスタントの設定でエラーが。。。 ORA-12547 接続を失いました。 いったいなんのことやら? ログを見てみると libaio.so.1 が見つからないと出ていた。 /usr/libなどを見てもライブラリが見当たらないのでダウンロードして手で置きました(T_T) ※参考:まさにっき(使えないプログラマーの日記) ライブラリ追加後に再実行すると無事にインストールが完了しました。 途中でEMDCのパスが画面に表示されたのでメモ。 http //vine 1158/em 2-13.「構成スクリプトの実行」画面 スクリプト実行の説明画面が表示されるのでそのとおりにコンソールから実行します。 $ su - # /u01/app/oracle/product/10.2.0/root.sh 途中でローカスパスの指定があるので /usr/local/bin を指定します。 これで一通りのインストールが完了です。 インストール完了画面に各ツールのパスが表示されます。 iSQL*Plus http //vine 5560/isqlplus iSQL*Plus DBA http //vine 5560/isqlplus/dba Enterprise Manager 10g Database Control http //vine 1158/em これでいよいよ勉強が開始できます!
https://w.atwiki.jp/tak_is/pages/74.html
2014-02-17 13 14 47 (Mon); linux初心者(自分)のための覚書 まず実行端末が文字化けしていたら、文字コードによって以下を入力。 ※データベースのキャラクターセットではなく、 SQLPlus実行端末の環境変数LANGに設定されているキャラクターセット。 キャラクターセットによってどれか使い分け export NLS_LANG=Japanese_Japan.AL32UTF8 export NLS_LANG=Japanese_Japan.JA16SJIS export NLS_LANG=Japanese_Japan.JA16EUC SIDを設定。 export ORACLE_SID=orcl01 ※内容を確認する場合はコチラ echo $ORACLE_SID 最後にOS認証でログイン sqlplus / nolog conn / as sysdba データベースのキャラクターセットもおかしい場合はコチラ alter session set NLS_LANG=Japanese_Japan.AL32UTF8
https://w.atwiki.jp/oraclesoa/pages/6.html
Oracle Enterprise Service Bus Tips Oracle ESBでのSOAP Headerの設定方法
https://w.atwiki.jp/wiki8_m2/pages/25.html
2.1 OUIの機能 Oracle Universal Installer(OUI)には、以下の3つの機能がある。 新規ソフトウェアのインストール インストール済製品の確認 製品のアンインストール 2.3 OUIの非対話形式での使用 OUIを用いて日対話形式でOracleソフトウェアをインストールする際は、レスポンスファイルを使用する。 【レスポンスファイルの使用について】 ・OracleソフトウェアのCD-ROMに収録されているサンプルファイルを編集する。 ・インストール時に入力が必要なパラメータを前もって記述する。 2.4 Oracleインストールのシステム用件 【システム用件(Windows)】 要件 最小値 物理メモリー(RAM) 256MB(最小)、512MB(推奨) 仮装メモリー RAM容量の2倍 一時ディスク領域 100MB ハードディスク領域 1.5GB 【システム要件(Linux)】 要件 最小値 物理メモリー(RAM) 512MB スワップ領域 1GBまたはRAM容量の2倍 /tmp内のディスク領域 400MB ソフトウェアファイル用のディスク領域 2.5GB 2.5 Oracleソフトウェアが使用する環境変数 環境変数 内容 ORACLE_BASE Optimal Flexible Architecture(OFA)に基づいたOracleディレクトリ構造のベースディレクトリを指定する ORACLE_HOME Oracleソフトウェアを含むディレクトリを指定する ORACLE_SID インスタンス名を指定する LD_LIBRARY_PATH 共有オブジェクトライブラリの位置を指定する 2.7 Linux環境でのOracleインストール(ローカルグループとユーザー) Linux環境においてOracleソフトウェアをインストールするには、次のローカルグループおよびユーザーが存在している必要がある。 oinstallグループ・・・Oracleインベントリグループ dbaグループ・・・OSDBAグループ oracleユーザー・・・Oracleソフトウェアの所有者 Windows環境では管理者権限をもったユーザーで インストールする必要がある(administratorなど) 2.8 Linux環境でのOracleインストール(スクリプト) Linux環境でOracleソフトウェアをインストールする場合、rootユーザーでOSプロンプトから以下のスクリプトを実行する必要がある。 root.sh orainstRoot.sh Windows環境ではこれらのスクリプトは実行する必要はない 2.10 Database Configuration Assistant(DBCA) Database Configuration Assistant(DBCA)では以下の機能を行うことができる。 データベースの作成 データベース・オプションの構成 データベースの削除 テンプレートの管理 データベース名の変更はできない →データベースの再作成または制御ファイルの再結成が必要 2.11 DBCAの使用テンプレート DBCAが使用するテンプレートには以下の2つのタイプがある シードテンプレート ①ソースとなる既存のデータベース構造情報と物理データファイルの両方を持つ ②物理データファイルやユーザー定義のスキーマなどが含まれている →短時間でのデータベース作成が可能! 非シードテンプレート ①ソースデータベースで指定されているデータベースオプション、表領域、 データファイル、初期化パラメータファイルなどの構造的な情報が含まれている ②ユーザー定義のスキーマデータは含まれていない →必要に応じて属性を変更できるため、柔軟データベース作成が可能! 2.12 DBCA「データベースオプションの構成」 DBCAの「データベースオプションの構成」では、以下の構成ができる。 Oracle TextやOracle OLAPなどのオプションのデータベースコンポーネントに関する構成 デフォルトのデータベース稼動モードの切り替え(専用サーバーモード/共有サーバーモード) 2.13 Database Upgrade Assistant(DBUA)のサイレントモードでの使用 Database Upgrade Assistant(DBUA)は、対話形式でOracleソフトウェアをアップグレード処理する場合に使用する。 また、DBUAをユーザーインターフェースを表示せずに実行する場合、サイレントモードを使用する。 例)ORCLというデータベースをサイレンとモードでアップグレードする場合 dbua -silent -dbName ORCL 2.15 DBCAを使用時のブロックサイズの指定 DBCAを使用したデータベース作成時、ブロックサイズを指定するためにはカスタムテンプレートを使用する必要がある。 カスタムテンプレートを使用するには、データベース作成時にオプションとして「カスタムデータベース」を指定する。 2.16 専用サーバーモードと共有サーバーモード 専用サーバーモード ・1つのユーザープロセスに対して、1つのサーバープロセスが稼動するモード →ユーザーが少数の場合に有効 共有サーバーモード ・複数のユーザープロセスがサーバープロセスを共有するモード →サーバープロセスの数を最低限に抑え、使用可能な システムリソースの使用効率を最大化 2.17 DBCAのテンプレート DBCAのテンプレートには、データベースの作成に必要な情報がXML形式で記述されている。 非シードテンプレートは物理データファイルやユーザー定義のスキーマなどを持っていないため、シードテンプレートと比較してデータベース作成に時間がかかる。 2.18ディクショナリ管理の表領域 【ディクショナリ管理のパラメータ】 項目 説明 初期サイズ セグメントに割り当てられる最初のエクステントのサイズを指定(サイズを指定しなかった場合のデフォルト値) 次のサイズ 2番目以降のエクステントのサイズを指定 最小サイズ エクステントのサイズが、指定サイズまたはその倍数に設定される(サイズを指定しなかった場合のデフォルト値) 増分サイズ 第2(次のサイズ)エクステントより後に割り当てられるエクステントのサイズが拡張される割合を指定する 最小値 セグメント作成時に割り当てられるエクステント数を指定する 最大値 セグメントが保持できるエクステント数の最大値を指定 エクステント情報はデータディクショナリで管理される。データディクショナリは SYSTEM表領域に格納されているため、新たなオブジェクトを作成しエクステントを 獲得した時点でSYSTEM表領域にI/Oが発生する。
https://w.atwiki.jp/oraclesoa/pages/7.html
Oracle Web Services Manager
https://w.atwiki.jp/oraclesoa/pages/8.html
Oracle BAM
https://w.atwiki.jp/father/pages/6.html
Oracle Master Oracle9i_Install OracleWebSite SQL*PLUS Linux版 Oracle9i データベース構築と運用 【ES 3】 Red Hat Enterprise Linux AS/ES 2.1 (※1) Red Hat Enterprise Linux AS/ES 3 (※1)(※2) Red Hat Enterprise Linux AS/ES 4(※3) Red Hat Linux Advanced Server 2.1 powered by MIRACLE MIRACLE LINUX Standard Edition V2.1(Oracle9i Release 2対応キット適用済またはUpdate3以降) MIRACLE LINUX V3.0 (※4) MIRACLE LINUX V4.0 (※5) UnitedLinux 1.0 SP1 (※6) SUSE LINUX Enterprise Server 8 SUSE LINUX Enterprise Server 9 (※7) ※1 Red Hat Enterprise Linux ASは Red Hat Linux Advanced Serverの名称変更です。 ※2 Red Hat Enterprise Linux AS/ES 3はR9.2.0.4以降で対応します。また、「Oracle9i Database Release 2(9.2.0.1.0) JP CD/Media Pack v10 for Linux x86 」以上に同梱されているパッチの適用が必要になります。 ※3 Red Hat Enterprise Linux AS/ES 4はR9.2.0.6以降で対応します。また、「Oracle9i Database Release 2(9.2.0.1.0) JP CD Pack v14 for Linux x86 」以上に同梱されているパッチの適用が必要になります。 ※4 MIRACLE LINUX V3.0はR9.2.0.4以降で対応します。インストールに関しては、ミラクル・リナックス(株)ホームページに記載されている技術情報をご参照ください。 ※5 MIRACLE LINUX V4.0はR9.2.0.4以降で対応します。インストールに関しては、ミラクル・リナックス(株)ホームページに記載されている技術情報をご参照ください。 ※6 UnitedLinux 1.0をベースとしたディストリビューションパッケージは以下の通りです。 - Turbolinux Enterprise Server 8 powered by UnitedLinux ※7 SUSE LINUX Enterprise Server 9はR9.2.0.5以降で対応します。必要なパッケージ要件等は最新のリリース・ノートをご確認ください。 .
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/zpng/pages/16.html
Oracle OTNライセンスに関して Oracle 11g Express Edition 制約に関して 導入方法Windows編 Linux編 Oracle OTNライセンスに関して 顧客向け開発の場合は使用不可なので注意 https //blogs.oracle.com/oracle4engineer/entry/oracle_db_-otn_developer_license Oracle 11g Express Edition 制約に関して データベース・インスタンスは1つのシステム上で1つだけに限定 ユーザーデータを格納する記憶域が11GBまでに制限 マルチCPUのサーバーでもデータベース・プロセスは1CPU(正確には1コア)しか使用しない。 利用できるメモリーは最大で1Gに制限。SGAとPGAのサイズを指定することができるが、合計は1G以内に制限 提供されるプラットフォームに制限(Windows-i386 or Linux-x64)Windows_x64にi386を導入した場合、イベントログが悲惨なことになったような… 導入方法 Windows編 製品版、OTN版の場合は、OUIにて導入 Express版の場合は、msiパッケージにて導入 Linux編 後日記載
https://w.atwiki.jp/sdevkb/pages/22.html
設定関連 <ページ> Oracle-設定2 Oracle-設定 <リンク> Oracle Database 11g インストール(Linux) Oracle11g R2を自動起動する @IT Oracleトラブル対策の基礎知識 クライアント関連 <ページ> Oracle-Instant Client <リンク> 「Instant Client」セットアップ後の動作テスト(ODBCドライバ接続編)