ブックマーク / www.shift-the-oracle.com (19)

  • ALTER USER、ユーザー情報の変更 - オラクル・Oracleをマスターするための基本と仕組み

    ALTER USER、ユーザー情報の変更 Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 ユーザーの基情報の変更 (パスワード、アカウントロック、etc) パスワードの変更(更新) 権限があれば他のユーザーも可能 SQL (DDL) -- こちらは旧パスワードの指定は不要 -- パスワードは二重引用符(") でクォートする。 ALTER USER username IDENTIFIED BY "new_password" ; SQL*Plus の PASSWORD コマンドからも変更可能 SQL> PASSWORD [username] ( 旧パスワード: ・・・自分の場合) 新

  • オラクルが起動するまでのプロセス - オラクル・Oracleをマスターするための基本と仕組み

    オラクル起動までのプロセス オラクルデータベース(インスタンス)は完全に使用可能になるまでに 停止状態 ⇒ NOMOUNT 状態 ⇒ MOUNT 状態 ⇒ OPEN 状態(起動完了)の不可逆なステップがある。 反対に、完全な停止状態にする場合も同様に複数のプロセスがあるもののユーザーが操作できるステップはなく完全な停止するまでノンストップで行なわれる。例えば OPEN 状態から MOUNT 状態に遷移することはできない。 STARTUP NOMOUNT NOMOUNT のフェーズにおいては、パラメータファイル(pfile/spfile)の読み込み、SGA メモリ領域確保、バックグラウンド・プロセスも開始される。 このステップでは SGA のメモリの割り当てがおこなわれているため一部のパフォーマンス・ビューを参照することができるようになる。このフェーズではメモリ関連の初期化パラメータに誤った

    lowpowerschottky
    lowpowerschottky 2019/05/07
    “停止状態 ⇒ NOMOUNT 状態 ⇒ MOUNT 状態 ⇒ OPEN 状態(起動完了)”
  • Oracle インスタンスの起動と停止 - オラクル・Oracleをマスターするための基本と仕組み

    オラクル・インスタンスを手動で起動、停止する ⇒ オラクルを自動で起動、自動で停止するようにする オラクルの起動(全プラットフォーム共通) オラクル・インスタンスの起動方法の種類 --インスタンスの起動(SQL*Plusを使用) # sqlplus /nolog SQL> CONN / AS SYSDBA  -- OS認証でアイドルインスタンスに接続 SQL> STARTUP [FORCE] [RESTRICT] [PFILE=filename] NOMOUNT -- データベースのマウント SQL> STARTUP MOUNT [dbname] -- データベースのオープン SQL> STARTUP OPEN [ READ {ONLY|WRITE [RECOVER]}|RECOVER] [dbname] -- NOMOUNT→MOUNT→OPEN の状態遷移は可能だが、逆は不可能 --

    lowpowerschottky
    lowpowerschottky 2019/05/07
    “どのモードで停止するかを必ず選択し、スクリプト任せにしない”
  • デフォルト・プロファイル - オラクル・Oracleをマスターするための基本と仕組み

    デフォルト・プロファイルの初期設定値 Oracle 11g R1 以降 Oracle 11g からデフォルトでパスワードの入力ミスでアカウントがロックされたり、パスワード変更が要求されるまで期限が約 6カ月に設定されたりしているので要注意。 期限切れを迎えるとログイン時に ORA-28002: パスワードは、n日以内に期限切れになります。メッセージが出るようになる。 パスワードに関する初期値

    lowpowerschottky
    lowpowerschottky 2019/01/24
    “セキュリティに何も心配の無い検証環境などでは以下のように変更”
  • ノーアーカイブログ モード運用への移行 - オラクル・Oracleをマスターするための基本と仕組み

    ノーアーカイブログモードにするには ノーアーカイブログモードは十分に障害対策がされており、データの復元を容易に行える環境(※)以外で 使用するのはおまりお勧めできない。例えば、オペレータよるエントリ作業がある業務など。 ノーアーカイブログモード時にはオンラインでの表領域のバックアップができない。 リカバリには前回取得したコードルバックアップに戻し、一貫性のある整合性のとれたエクスポートデータを適用する 必要がある。 障害が発生時したときのデータの損失と修復作業には相当なストレスとオペレータによる再入力作業の損失が発生する。 (※) スタンバイ、クラスタ化処理が施されたハード構成、バッチ処理の再投入などで即座にリカバリできる運用環境 の場合において大量データの高速処理という目標がある場合にはアーカイブログモードは足かせになる。 ノーアーカイブログ モードへの移行 アーカイブログモードからノー

  • アーカイブログ モード運用への移行 - オラクル・Oracleをマスターするための基本と仕組み

    アーカイブログモード運用への移行 アーカイブログでの運用はミッションクリティカルなシステムにおいて非常に重要であるが、 ディスク容量不足や手動アーカイブモード時に REDO ログ・ファイル のアーカイブが行われない状況になると、システムは完全な一時停止状態(※)となる危険がある。 既に適切なアーカイブファイルの運用(フルバックアップと不要アーカイブファイルの削除)とディスク容量設計を行っていること。 (※) ORA-00257: アーカイブ・エラーです。解除されるまで内部接続のみにしてください。 となって、データベースがアーカイブできるまでの間、一時停止する。速やかな対処が必要になる。 ノーアーカイブ状態からアーカイブ運用にするには データベースの停止を伴う工程になり、移行に失敗した事を考え、既に運用しているシステムの場合はコールドバックアップを行ってから作業を行う。 稼動している場合には

  • テーブル削除と削除の取り消し - オラクル・Oracle SQL 入門

    DROP TABLE、FLASHBACK TABLE テーブル定義の削除と復活 もし作成したテーブルを誤って作成した場合や不要になった場合に以下のとおりに実行する。 USER_MASTER 表を削除 SQL*Plus にて以下の DDL 文を実行。 DROP TABLE USER_MASTER CASCADE CONSTRAINTS ; なお Oracle10g から「ごみ箱」の機能が追加され DROP TABLE =取り返しのつかない削除ではない。(※) 従来通り、ごみ箱に入れず即座に削除する場合は PURGE 句を付ける DROP TABLE USER_MASTER CASCADE CONSTRAINTS PURGE ; (※) 但し SYSTEM 表領域 に表を作成していた場合には即座に削除されるので例外。(Oracle 10g 時点) 補足:SYS やSYSTEM ユーザーのデフォ

    lowpowerschottky
    lowpowerschottky 2017/12/20
    “「ごみ箱」の全体を空にする”
  • TRUNCATE と DELETE の違い - Oracle/オラクルをマスターするための基本と仕組み

    TRUNCATE と DELETE の違い Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 DELETE と TRUNCATE TABLE の違い TRUNCATE TABLE(TRUNCATE CLUSTER) 操作は、データの件数の関係なく非常に高速にデータを削除することができる。SQL DELETE 操作と、どこが違い何か障害となるのか? TRUNCATE TABLE 操作には何かトレードオフがあるのか? 参考: TRUNCATE と DROP の違い DELETE (DML) ユーザーからの DELETE コマンドを発行したときに Oracle が行う主なタスク ※ 順番は

  • ロール - オラクル・Oracleをマスターするための基本と仕組み

    ロール ロールとは、ユーザーが権限について色々と組み合わせて名前をつけたものであり、 アカウント管理のグループのようなものである。しかし、グループによる管理とはアプローチが異なり、 ロール固有の注意すべき点もある。 Oracle Database 概要マニュアルより ストアド・プログラム構成メンバーの中からスキーマ・オブジェクトにアクセスする権限は、直接付与する必要があるため、 ロールは、アプリケーション開発者が使用することを目的としていません。 と指摘されている点については覚えておいたほうがよい。(抜粋ですから、これを鵜呑みにしないで下さい) これはロールがセッションにおいて SET ROLE 文でダイナミックに変更できる点などの理由から ロール経由で付与された権限が PL/SQL の実行時の権限から除外されていることへの注意であると思われる。 これを知らないと個々のステートメントはコマ

    lowpowerschottky
    lowpowerschottky 2017/06/19
    GRANT に WITH GRANT OPTION オプションを併用した場合、与えられた オブジェクト権限 を他のユーザーにも与えることができるようになる。システム権限 の場合には WITH GRANT オプションでなく WITH ADMIN オプションを使用する。
  • SYSDBA / SYSOPER システム権限

    Data Base Administrator ( DBA ) 似た言葉にデータ・アドミストレータ、Data Block Address がある。 SYSDBA / SYSOPER システム権限 パスワード認証を行っていなければ、ユーザーに以下の権限を付与できない。 OS認証を使用していると CONNECT 時において入力しているパスワードが違ってもログオンできる。 SYSOPER PUBLIC スキーマ に接続 STARTUP およびSHUTDOWN 操作の実行 CREATE SPFILE ALTER DATABASE OPEN/MOUNT/BACKUP ALTER DATABASE ARCHIVELOG ALTER DATABASE RECOVER(完全リカバリのみ) RESTRICTED SESSION 権限 SYSDBA SYS スキーマ に接続 (接続時にユーザー名を指定しても

    lowpowerschottky
    lowpowerschottky 2017/06/19
    OS認証を使用していると CONNECT 時において入力しているパスワードが違ってもログオンできる
  • GRANT - オラクル・Oracleをマスターするための基本と仕組み

    GRANT の基構文 GRANT システム権限 TO {ユーザー名|ロール名|PUBLIC} [WITH ADMIN OPTION] GRANT オブジェクト権限 ON {オブジェクト名} TO {ユーザー名|ロール名|PUBLIC} [WITH GRANT OPTION] システム権限は、Oracle を管理するための権限でデータベース全体に対する権限。 オブジェクト権限は、テーブルなどのオブジェクト(非スキーマ 含む)に対する権限。 WITH ADMIN OPTION or WITH GRANT OPTION を付けると与えられた権限を再度別のユーザーに対して付与することができる状態になる。 ⇒ もう少し詳しく オブジェクト権限とシステム権限 テーブルに対する権限を付与する rivus というユーザーが admin というユーザーのテーブル my_table に対して SELECT、

    lowpowerschottky
    lowpowerschottky 2017/06/19
    WITH ADMIN OPTION or WITH GRANT OPTION を付けると与えられた権限を再度別のユーザーに対して付与することができる状態になる。
  • ORA-12514 - オラクル・Oracle エラー FAQ

    Oracle 起動に関するエラー ORA-12514: TNS: リスナーは接続記述子で要求されたサービスを現在認識していません。 原因 リスナーへのサービスの登録を動的構成をして ORA-12514:〜エラーが発生する場合には インスタンスとリスナーの情報の同期が取れていない可能性がある。 動的構成の場合にはインスタンスは起動時や定期的にリスナーに自分のサービスの情報や負荷の状況を PMON 経由で通知する。 このときにリスナーが起動されていない場合や通信が途絶している状態になるとサービスしていることがリスナーに伝わらない。(登録の遅延は最大で 60秒とある) 対応(動的登録、自動登録の場合) # lsnrctl service または # lsnrctl stat で 接続しようとしているサービスが無いことを確認する。もしサービスが存在する場合には接続文字列(ネーミングメソッド)や T

  • ORA-12154 - オラクル・Oracle エラー FAQ

    Oracle 起動に関するエラー ORA-12154: TNS: 指定された接続識別子を解決できませんでした。 新規の設定で接続できない場合 原因 Net Service を設定した直後で ORA-12154: エラーが発生する場合は、どの段階で障害が発生しているかを切り分ける。 対応 ローカル・ネーミングメソッドの場合 Oracle 10g の場合には簡易接続で接続できるか確認する。 sqlplus user/pass@host[:port][/service_name] 接続できる場合 tnsnames.ora のネットサービス名の記述が誤っているか tnsnames.ora にアクセスできない状態が考えられる。tnsnames.ora ファイルがあるディレクトリにアクセス権があるかを確認する。 (デフォルト: $ORACLE_HOME/network/admin/tnsnames.o

  • データベースを特定する名前 - オラクル・Oracleをマスターするための基本と仕組み

    データベース名のいろいろ ORACLE_SID、システム識別子、SID、インスタンス名、グローバルデータベース名、ネットサービス名、TNS サービス名、 接続識別子、Oracle のデータベースをあらわす言葉は非常に多い、混乱するほどに多い、それを整理しておく。 DBID、ネットサービス名などのデータベースを特定する名前 インスタンス関連 データベース識別子、DBID(Database IDentifer) データベースの内部の一意データベース識別子。 通常、複数ホスト間でもデータベースを物理コピーしない限り同じ番号になることはない。(100% ないとはいえないだろうが、無視できるほど限りなく少ないと思われる。) RMAN でも一意に識別するための ID として使用している。(他のベンダーから販売されているツールも利用しているらしい。) ということは… 物理コピーでインストールしたデータベ

    lowpowerschottky
    lowpowerschottky 2017/05/18
    Oracle のデータベースをあらわす言葉は非常に多い、混乱するほどに多い
  • データベース名を変更する方法 - オラクル・Oracleをマスターするための基本と仕組み

    DBID、データベース名を変更する方法 NEWIDユーティリティは、DBID のみ変更、データベース名のみ変更、DBID(≠ORACLE_SID) とデータベース名の変更が可能。 DBID の変更を伴う処理を行うと、過去のすべてのアーカイブログ、バックアップファイルが使用不能になる。 また、このコマンドはファイル内部の DBID, DB_NAME 情報を書き換えるものであり、ファイル名やディレクト名に含まれる <DB_NAME>を変更するものではない。 テスト環境もしくは複製直後の環境であり十分な回復知識がある場合にのみ利用し、稼動状態にあるデータベースへの利用はお勧めできない。 リカバリ、クラッシュ・リカバリ が必要な状態で実行すると、かなり危険(未検証) (移行に失敗すると完全に修復不可能になることがあり、番環境で実行する必要がある場合には、Oracle のサポートのうえで実行する)

    lowpowerschottky
    lowpowerschottky 2017/05/18
    DBID の変更を伴う処理を行うと、過去のすべてのアーカイブログ、バックアップファイルが使用不能になる。
  • エクスポート・インポート (オプション) - オラクル・Oracleをマスターするための基本と仕組み

    エクスポート・インポート (オプション) Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 エクスポート・インポート(コマンド・オプション) ⇒ DataPump / Export、Import (オプション) (オリジナルの)エクスポート・インポートコマンドのコマンドライン・オプションは、パラメータファイルに記述してある内容より優先順位が高いため、設定の上書きが可能。 例) imp userid="hoge/hogepass as sysdba" parfile='/tmp/hoge.opt' ignore=Y userid は 二重引用符(") で囲い、ファイル名は単一引用符('

  • ORACLE_SID、ORACLE_HOME の確認方法 - オラクル・Oracleをマスターするための基本と仕組み

    [oracle@rivus ~]$ env HOSTNAME=rivus SHELL=/bin/bash TERM=xterm HISTSIZE=1000 NLS_LANG=American_Japan.AL32UTF8 USER=oracle ORACLE_SID=orcl MAIL=/var/spool/mail/oracle PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/usr/kerberos/bin ... INPUTRC=/etc/inputrc PWD=/home/oracle EDITOR=vi LANG=ja_JP.UTF-8 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SHLVL=1 HOME=/home/oracle LOGNAME=oracle LESSOPEN=

  • UNION、UNION ALL 集合演算子 - オラクル・Oracleをマスターするための基本と仕組み

    UNION、UNION ALL 集合演算子 Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 UNION と UNION ALL 集合演算子 UNION 集合演算子とは複数の SELECT 文を1つに組み合わせる演算子である。 複数の問い合わせを1つに結合することから、それぞれの問い合わせの抽出項目のリストは同数、かつ、同じグループの データ型 でなければ結合することができない。 簡単な UNION のサンプル UNION ALL UNION ALL :2つの問い合わせ結果のレコードが 同じ内容であっても重複行も含める 結果にする。重複データを許す和集合。 SELECT 1, 2 F

  • データベース・キャラクタセットを変更する - オラクル・Oracleをマスターするための基本と仕組み

    データベース・キャラクタセットを変更する Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 データベースで使用する文字コードを変更する Oracle 10g から ALTER DATABASE CHARACTER SET 文は廃止されている。 データベース・キャラクタセットを変換するには、検証をする CSSCAN(Character Set SCANner) ユーティリティ と実際に変換する CSALTER(Character Set ALTER?) プログラムを使用する。 CSALTER プログラムの実行には CCSCAN によるデータベースの全スキャン作業が必要である。 CSSC

  • 1