プロが教えるわが家の防犯対策術!

databaseを新規に作成したいのですが
今使用しているDB(Oracle 10g Express Edition )は
インストール時にデフォルトでデータベースを
作成してしまうため、
「create databese」のsql文を実行すると以下のエラーが出てしまいます。
すでにマウントってどういうことなのでしょうか。

ORA-01501: CREATE DATABASE文でエラーが発生しました。
ORA-01100: データベースはすでにマウントされています。

今存在するDB名が分かれば「drop」コマンドで
削除を試みようと思っているのですが
DB名を参照する方法もよく分かりません。
どなたかご教授お願いします。

A 回答 (4件)

10g Expressは使ったことが無いのであくまで


EnterpriseやStandard Editionと基本的に同じうごきという仮定で書かせてもらいます。

>今存在するDB名が分かれば「drop」コマンドで
>削除を試みようと思っているのですが
>DB名を参照する方法もよく分かりません。

データベース名は
SYSTEMユーザなどでSQL*plusで繋いでいるのであれば
select value from v$parameter
where name ='db_name';
とすれば表示されるかと思います。

>すでにマウントってどういうことなのでしょうか。
という質問に対してですが
Oracleのデータベースには
クローズ(停止)
ノーマウント
マウント
オープン
という4つの状態があり、
おそらく10g Expressではインストール時に
データベースまで自動的に作成してしまって
オープン状態にまでなっているものと考えられます。
ですのでcreate database文内で(おそらく)
startup nomount(クローズ状態からノーマウント状態に変更する命令)
などが実行されると
「すでにマウントされています」
と表示されるのだと思います。

drop database {database_name};
でも良いですが、shutdown immediate;
として、データベースをオープン状態からクローズ
状態にまでしてあげてからデータベースの
ファイルを全て削除する方法でも良いかと思います。
(9iまではdrop database文が無かったのでこの方法
が本来のやり方でした)
    • good
    • 0

#1です。



実際にダウンロードしてちょっと調べてみたところ、10g Expressは
・1インスタンス
・4GB(管理モードで見てみると物理的な制限は5GBとなっているが・・・・?)までのディスク
・1GBまでのメモリ
となっているね。なので、TABLESPACEを作るのは速度とメンテナンス以外の目的では使えなさそう。

 以上から、create databaseは使えない(使えても意味が無い)と考えられまふ。

 結局表領域「USERS」と一時表領域「TEMP」を使う事になるので、それらを使うように一般ユーザを作って、適当にテーブルを作っていきましょう。
 DBに繋ぐ、DBをつつく、などの操作は従来のOracleと全く変わりは無いね(当たり前だが)。9iのEnterprise Manager Consoleでも繋がるし、ADO.NetのOracleProviderもばっちりでした。
    • good
    • 0

お使いのバージョン/エディション用のドキュメントを読んでください。


管理ガイド等に、データベースの作成手順が書かれているハズです。

多分、CREATE DATABASEだけでなく、その後の作業も躓くでしょうから、
管理者ガイドを一度は読んでおく必要があると思いますよ。
    • good
    • 0

 10g Expressの事はよく分からないが、Oracleには旧来よりcreate database文は無いよ。

正確には存在するけど、人間が直でこのsql文を叩く事があまり無い。

 イメージとしては、Oracleは1「database」=1インスタンスだ。

 もし、SQL Serverのイメージでやろうとしているのであれば、create TableSpaceを使うと良いだろう。
 SQL Serverでは「database」というのは、1ファイルまたは1つのファイルセットの事だよね。Oracleでは1つの物理ファイルに当たるのはTableSpaceだ。

 多分私が何を言っているのかさっぱりわからないと思う。とにかく、Oracleの基本概念が今ひとつ理解できていないように見受けられる。SQL Server、PostgreSQL、MySQLとは(概念から)全く違う方法で管理しているので、簡単なチュートリアルからやってみるとどうだろう。

キーワード:
 Oracle、ホーム、インスタンス、スキーマ、テーブルスペース
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す