SQLの窓

2014年06月12日


SQL*Plusだけで CSV を作成する

1) 列名リストを作成

郵便番号,都道府県名,市区町村名,町域名


2) エディタで "," を "||','||" に置換する

郵便番号||','||都道府県名||','||市区町村名||','||町域名
( または '"'||郵便番号||'","'||都道府県名||'","'||市区町村名||'","'||町域名||'"' )

3) 以下のようなファイルを作成(csv.sql)
-- ********************************************
-- 1行に表示する文字の最大数
-- 32767 は、SET LINESIZE と入力すると、
-- linesizeオプション 0が範囲(1から32767)外です。
-- と表示される
-- ********************************************
SET LINESIZE 32767

-- ********************************************
-- PAGESIZEを 0に設定すると、ヘッダー、
-- ページブレーク、タイトル、初期空白行
-- その他の書式設定情報をすべて非表示にできます
-- ********************************************
SET PAGESIZE 0

-- ********************************************
-- ONを指定すると、スプール行の終わりの空白
-- が削除--されます
-- ( コンソール表示とは無関係です )
-- ********************************************
SET TRIMSPOOL ON

-- ********************************************
-- レコード数表示や確認メッセージを
-- 非表示にします
-- ********************************************
SET FEEDBACK OFF

-- ********************************************
-- 出力を、画面に表示しません
-- ********************************************
SET TERMOUT OFF

-- ********************************************
-- 結果をファイルに格納します
-- ********************************************
SPOOL 郵便番号マスタ.csv

select 郵便番号||','||都道府県名||','||市区町村名||','||町域名
from 郵便番号マスタ
/

-- ********************************************
-- スプールを停止します
-- ********************************************
SPOOL OFF

-- ********************************************
-- SQL*Plus を終了します
-- ********************************************
EXIT


4) sqlplus の実行

sqlplus ユーザー/パスワード@//PC名/サービス名 @csv

※ @csv は、csv.sql を意味します
※ //PC名/サービス名 は、ローカルネットサービス名でもかまいません
※ //PC名/サービス名 は Express ですと、XE や //PC名/XE が使えると思います
C:\user\work\>sqlplus lightbox/password@//layla/XE @csv

SQL*Plus: Release 11.2.0.2.0 Production on 木 6月 12 02:11:38 2014

Copyright (c) 1982, 2010, Oracle.  All rights reserved.



Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
に接続されました。
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Productionとの接続が切断されました。
関連する Oracle ドキュメント SQL*Plusレジスタードマークユーザーズ・ガイドおよびリファレンス リリース11.2
タグ:sqlplus Oracle
posted by lightbox at 2014-06-12 02:20 | Oracle | このブログの読者になる | 更新情報をチェックする

2014年05月09日


Oracle XE インストール後の環境情報( Windows )

レジストリ

HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_XE

環境変数は特に設定されません。PATH 環境変数には、直接 ORACLE_HOME 内の情報でパスが設定されています。
▼ Oracle ドキュメント
15 パラメータおよびレジストリの構成

この中で代表的な内容の説明は以下のようになっています
ORACLE_SID
ホスト・コンピュータ上のOracle Databaseインスタンスの名前を指定します。インスタンスのSIDがこのパラメータの値です。デフォルト値は、Oracle Universal Installerのデータベース識別情報ウィンドウのエントリです。

ORACLE_HOME
Oracle製品がインストールされるOracleホーム・ディレクトリを指定します。このディレクトリはOracleディレクトリ階層のOracleベース・ディレクトリのすぐ下に置かれます。デフォルト値は、インストール中に指定するドライブ文字および名前です。
SPFILE
###########################################
# Copyright (c) 1991, 2011, Oracle and/or its affiliates. All rights reserved. 
###########################################
 
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
 
###########################################
# Database Identification
###########################################
db_name=XE
 
###########################################
# File Configuration
###########################################
control_files=("C:\oraclexe\app\oracle\oradata\XE\control.dbf")

###############################diagnostic_dest=############
# Job Queues
###########################################
job_queue_processes=4
 
###########################################
# Miscellaneous
###########################################
compatible=11.2.0.0.0
diagnostic_dest=C:\oraclexe\app\oracle\.
memory_target=1024M


###########################################
# Processes and Sessions
###########################################
sessions=20 
 
 
###########################################
# Security and Auditing
###########################################
audit_file_dest=C:\oraclexe\app\oracle\admin\XE\adump
remote_login_passwordfile=EXCLUSIVE
 
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=XEXDB)"
shared_servers=4 

 
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1

###########################################
# Backup and Recovery
###########################################
DB_RECOVERY_FILE_DEST_SIZE = 10G
DB_RECOVERY_FILE_DEST=C:\oraclexe\app\oracle\fast_recovery_area



C:\oraclexe\app\oracle\product\11.2.0\server\config\scripts にある、XE.bat が実行されます。その中に、『postDBCreation.sql』の実行処理があり、その中で SPFILE を作成しています。
DEFINE sysPassword = "&1"
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool C:\oraclexe\app\oracle\product\11.2.0\server\config\log\postDBCreation.log
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
//create or replace directory DB_BACKUPS as 'C:\oraclexe\app\oracle\fast_recovery_area';
begin
   dbms_xdb.sethttpport('8080');
   dbms_xdb.setftpport('0');
end;
/
create spfile='C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora' FROM pfile='C:\oraclexe\app\oracle\product\11.2.0\server\config\scripts\init.ora';
shutdown immediate;
connect "SYS"/"&&sysPassword" as SYSDBA
startup ;
select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual;
execute utl_recomp.recomp_serial();
select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual;
alter user hr password expire account lock;
alter user ctxsys password expire account lock;
alter user outln password expire account lock;
alter user MDSYS password expire;
@C:\oraclexe\app\oracle\product\11.2.0\server\apex\apxxepwd.sql "&1"
spool off;
exit

※ C:\oraclexe\app\oracle\product\11.2.0\server\config\log に結果のログがあります

ネットワーク

C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN に、tnsnames.ora があり、ネット・サービス名が定義されています。
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = layla)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

listener.ora には、DEFAULT_SERVICE_LISTENER が定義されており、ユーザーがクライアント側からサービス名を指定せずに、データベースに接続できるようにします。
Oracle Database 11gでは、クライアントがデータベースに接続しようとすると、接続リクエストがリスナーに渡されます。リスナーは複数の異なるデータベースにサービスを実行していることがあります。サービス名がこのパラメータで構成されている場合、ユーザーは必ずしもサービス名を接続構文で指定する必要はありません。ユーザーがサービス名を指定した場合、リスナーは指定したデータベースにユーザーを接続します。サービス名を指定しない場合、リスナーはDEFAULT_SERVICE_listener_nameパラメータで指定されたサービス名にユーザーを接続します。
▼ Oracle ドキュメント 7 Oracle Net Listenerパラメータ(listener.ora) 8 ネーミング・メソッドの構成 select * from V$PARAMETER
NAME VALUE
active_instance_count
aq_tm_processes 0
archive_lag_target 0
asm_diskgroups
asm_diskstring
asm_power_limit 1
asm_preferred_read_failure_groups
audit_file_dest C:\ORACLEXE\APP\ORACLE\ADMIN\XE\ADUMP
audit_sys_operations FALSE
audit_trail NONE
background_core_dump partial
background_dump_dest C:\oraclexe\app\oracle\diag\rdbms\xe\xe\trace
backup_tape_io_slaves FALSE
bitmap_merge_area_size 1048576
blank_trimming FALSE
buffer_pool_keep
buffer_pool_recycle
cell_offload_compaction ADAPTIVE
cell_offload_decryption TRUE
cell_offload_parameters
cell_offload_plan_display AUTO
cell_offload_processing TRUE
circuits
client_result_cache_lag 3000
client_result_cache_size 0
cluster_database FALSE
cluster_database_instances 1
cluster_interconnects
commit_logging
commit_point_strength 1
commit_wait
commit_write
compatible 11.2.0.0.0
control_file_record_keep_time 7
control_files C:\ORACLEXE\APP\ORACLE\ORADATA\XE\CONTROL.DBF
control_management_pack_access NONE
core_dump_dest C:\oraclexe\app\oracle\diag\rdbms\xe\xe\cdump
cpu_count 4
create_bitmap_area_size 8388608
create_stored_outlines
cursor_bind_capture_destination memory+disk
cursor_sharing EXACT
cursor_space_for_time FALSE
db_16k_cache_size 0
db_2k_cache_size 0
db_32k_cache_size 0
db_4k_cache_size 0
db_8k_cache_size 0
db_block_buffers 0
db_block_checking FALSE
db_block_checksum TYPICAL
db_block_size 8192
db_cache_advice ON
db_cache_size 0
db_create_file_dest
db_create_online_log_dest_1
db_create_online_log_dest_2
db_create_online_log_dest_3
db_create_online_log_dest_4
db_create_online_log_dest_5
db_domain
db_file_multiblock_read_count 128
db_file_name_convert
db_files 200
db_flash_cache_file
db_flash_cache_size 0
db_flashback_retention_target 1440
db_keep_cache_size 0
db_lost_write_protect NONE
db_name XE
db_recovery_file_dest C:\oraclexe\app\oracle\fast_recovery_area
db_recovery_file_dest_size 10737418240
db_recycle_cache_size 0
db_securefile PERMITTED
db_ultra_safe OFF
db_unique_name XE
db_unrecoverable_scn_tracking TRUE
db_writer_processes 1
dbwr_io_slaves 0
ddl_lock_timeout 0
deferred_segment_creation TRUE
dg_broker_start FALSE
diagnostic_dest C:\ORACLEXE\APP\ORACLE
disk_asynch_io TRUE
dispatchers (PROTOCOL=TCP) (SERVICE=XEXDB)
distributed_lock_timeout 60
dml_locks 756
dst_upgrade_insert_conv TRUE
enable_ddl_logging FALSE
event
fal_client
fal_server
fast_start_io_target 0
fast_start_mttr_target 0
fast_start_parallel_rollback LOW
file_mapping FALSE
fileio_network_adapters
filesystemio_options
fixed_date
gcs_server_processes 0
global_context_pool_size
global_names FALSE
global_txn_processes 1
hash_area_size 131072
hi_shared_memory_address 0
hs_autoregister TRUE
ifile
instance_groups
instance_name xe
instance_number 0
instance_type RDBMS
java_jit_enabled TRUE
java_max_sessionspace_size 0
java_pool_size 0
java_soft_sessionspace_limit 0
job_queue_processes 4
large_pool_size 0
ldap_directory_access NONE
ldap_directory_sysauth no
license_max_sessions 0
license_max_users 0
license_sessions_warning 0
listener_networks
local_listener
lock_name_space
lock_sga FALSE
log_archive_config
log_archive_dest
log_archive_dest_1
log_archive_dest_10
log_archive_dest_11
log_archive_dest_12
log_archive_dest_13
log_archive_dest_14
log_archive_dest_15
log_archive_dest_16
log_archive_dest_17
log_archive_dest_18
log_archive_dest_19
log_archive_dest_2
log_archive_dest_20
log_archive_dest_21
log_archive_dest_22
log_archive_dest_23
log_archive_dest_24
log_archive_dest_25
log_archive_dest_26
log_archive_dest_27
log_archive_dest_28
log_archive_dest_29
log_archive_dest_3
log_archive_dest_30
log_archive_dest_31
log_archive_dest_4
log_archive_dest_5
log_archive_dest_6
log_archive_dest_7
log_archive_dest_8
log_archive_dest_9
log_archive_dest_state_1 enable
log_archive_dest_state_10 enable
log_archive_dest_state_11 enable
log_archive_dest_state_12 enable
log_archive_dest_state_13 enable
log_archive_dest_state_14 enable
log_archive_dest_state_15 enable
log_archive_dest_state_16 enable
log_archive_dest_state_17 enable
log_archive_dest_state_18 enable
log_archive_dest_state_19 enable
log_archive_dest_state_2 enable
log_archive_dest_state_20 enable
log_archive_dest_state_21 enable
log_archive_dest_state_22 enable
log_archive_dest_state_23 enable
log_archive_dest_state_24 enable
log_archive_dest_state_25 enable
log_archive_dest_state_26 enable
log_archive_dest_state_27 enable
log_archive_dest_state_28 enable
log_archive_dest_state_29 enable
log_archive_dest_state_3 enable
log_archive_dest_state_30 enable
log_archive_dest_state_31 enable
log_archive_dest_state_4 enable
log_archive_dest_state_5 enable
log_archive_dest_state_6 enable
log_archive_dest_state_7 enable
log_archive_dest_state_8 enable
log_archive_dest_state_9 enable
log_archive_duplex_dest
log_archive_format ARC%S_%R.%T
log_archive_local_first TRUE
log_archive_max_processes 4
log_archive_min_succeed_dest 1
log_archive_start FALSE
log_archive_trace 0
log_buffer 5357568
log_checkpoint_interval 0
log_checkpoint_timeout 1800
log_checkpoints_to_alert FALSE
log_file_name_convert
max_dispatchers
max_dump_file_size unlimited
max_enabled_roles 150
max_shared_servers
memory_max_target 1073741824
memory_target 1073741824
nls_calendar GREGORIAN
nls_comp BINARY
nls_currency \
nls_date_format RR-MM-DD
nls_date_language JAPANESE
nls_dual_currency \
nls_iso_currency JAPAN
nls_language JAPANESE
nls_length_semantics BYTE
nls_nchar_conv_excp FALSE
nls_numeric_characters .,
nls_sort BINARY
nls_territory JAPAN
nls_time_format HH24:MI:SSXFF
nls_time_tz_format HH24:MI:SSXFF TZR
nls_timestamp_format RR-MM-DD HH24:MI:SSXFF
nls_timestamp_tz_format RR-MM-DD HH24:MI:SSXFF TZR
O7_DICTIONARY_ACCESSIBILITY FALSE
object_cache_max_size_percent 10
object_cache_optimal_size 102400
olap_page_pool_size 0
open_cursors 300
open_links 4
open_links_per_instance 4
optimizer_capture_sql_plan_baselines FALSE
optimizer_dynamic_sampling 2
optimizer_features_enable 11.2.0.2
optimizer_index_caching 0
optimizer_index_cost_adj 100
optimizer_mode ALL_ROWS
optimizer_secure_view_merging TRUE
optimizer_use_invisible_indexes FALSE
optimizer_use_pending_statistics FALSE
optimizer_use_sql_plan_baselines TRUE
os_authent_prefix OPS$
os_roles FALSE
parallel_adaptive_multi_user TRUE
parallel_automatic_tuning FALSE
parallel_degree_limit CPU
parallel_degree_policy MANUAL
parallel_execution_message_size 16384
parallel_force_local FALSE
parallel_instance_group
parallel_io_cap_enabled FALSE
parallel_max_servers 0
parallel_min_percent 0
parallel_min_servers 0
parallel_min_time_threshold AUTO
parallel_server FALSE
parallel_server_instances 1
parallel_servers_target 64
parallel_threads_per_cpu 2
permit_92_wrap_format TRUE
pga_aggregate_target 0
plscope_settings IDENTIFIERS:NONE
plsql_ccflags
plsql_code_type INTERPRETED
plsql_debug FALSE
plsql_optimize_level 2
plsql_v2_compatibility FALSE
plsql_warnings DISABLE:ALL
pre_page_sga FALSE
processes 100
query_rewrite_enabled TRUE
query_rewrite_integrity enforced
rdbms_server_dn
read_only_open_delayed FALSE
recovery_parallelism 0
recyclebin OFF
redo_transport_user
remote_dependencies_mode TIMESTAMP
remote_listener
remote_login_passwordfile EXCLUSIVE
remote_os_authent FALSE
remote_os_roles FALSE
replication_dependency_tracking TRUE
resource_limit FALSE
resource_manager_cpu_allocation 4
resource_manager_plan
result_cache_max_result 5
result_cache_max_size 0
result_cache_mode MANUAL
result_cache_remote_expiration 0
resumable_timeout 0
rollback_segments
sec_case_sensitive_logon TRUE
sec_max_failed_login_attempts 10
sec_protocol_error_further_action CONTINUE
sec_protocol_error_trace_action TRACE
sec_return_server_release_banner FALSE
serial_reuse disable
service_names XE
session_cached_cursors 50
session_max_open_files 10
sessions 172
sga_max_size 645922816
sga_target 0
shadow_core_dump none
shared_memory_address 0
shared_pool_reserved_size 9437184
shared_pool_size 0
shared_server_sessions
shared_servers 4
skip_unusable_indexes TRUE
smtp_out_server
sort_area_retained_size 0
sort_area_size 65536
spfile C:\ORACLEXE\APP\ORACLE\PRODUCT\11.2.0\
SERVER\DBS\SPFILEXE.ORA
sql_trace FALSE
sql92_security FALSE
sqltune_category DEFAULT
standby_archive_dest %ORACLE_HOME%\RDBMS
standby_file_management MANUAL
star_transformation_enabled FALSE
statistics_level TYPICAL
streams_pool_size 0
tape_asynch_io TRUE
thread 0
timed_os_statistics 0
timed_statistics TRUE
trace_enabled TRUE
tracefile_identifier
transactions 189
transactions_per_rollback_segment 5
undo_management AUTO
undo_retention 900
undo_tablespace UNDOTBS1
use_indirect_data_buffers FALSE
use_large_pages TRUE
user_dump_dest C:\oraclexe\app\oracle\diag\rdbms\xe\xe\trace
utl_file_dir
workarea_size_policy AUTO
xml_db_events enable
この中で、"XE" という文字列が含まれているのは以上です

db_name	XE
db_unique_name	XE
instance_name	xe
service_names	XE




posted by lightbox at 2014-05-09 10:18 | Oracle | このブログの読者になる | 更新情報をチェックする

2014年05月02日


Oracle11g XE( 無償 ) のインストールからテスト用販売管理データのロードまで

ダウンロード : Oracle Database Express Edition 11g Release 2
( このページの『ダウンロードタブ』から )

ライセンスのページ
オラクルは、お客様に対して、
(a)お客様独自の内部的なデータ処理業務のためのお客様のアプリケーションの開発、プロトタイピング及び実行を目的として、本プログラムを使用する非独占的、譲渡不能かつ限定的な使用権を許諾します。
(b)お客様は、お客様のアプリケーションとともに本プログラムを頒布することができます。
(c)お客様は、第三者に対しデモンストレーション及び研修を提供する目的で、本プログラムを使用することができます。
(d)お客様は、お客様の各ライセンシーが本契約の条件に同意する場合、ライセンシーに対し、本プログラムを複製して頒布することができます。 お客様は、本契約で認められている以外の目的で本プログラムを使用することはできません。
ライセンスの文章はどこのものでもわかりにくくなっていますが、インターネットで調べると『商用可能』である事が解ると思います。但し、Oracle は簡単に扱えるデーターベースでは無く、テクニカルサポートは無く、アップデートの提供は無いので商用で利用する条件は実際には相当特別なものとなります。しかし、開発環境を手軽に作れる事は間違い無く、本番環境で扱われる事が想定される SHIFT_JIS との違いさえ知っておけば、特に問題無くどこでも運用可能です。 参考1 : Oracle 11g Express 文字コードを変更する 参考2 : oracle 11g XE でキャラクタセットを変更した時のメモ ※ 既存のデータを使わないのであれば、NVARCHAR2 の文字数と、VARCHAR2 でのバイト数( 普通日本語では1.5倍必要 )の理解があればそのまま使用できます ※ レジストリの NLS_LANG は、JAPANESE_JAPAN.JA16SJISTILDE です。 ※ SELECT * FROM NLS_DATABASE_PARAMETERS で、NLS_NCHAR_CHARACTERSET は AL16UTF16 で、NLS_CHARACTERSET は AL32UTF8 です。 ダウンロードとインストール 一般的なフリーソフトと変わりなく、とても簡単にインストールまではできます。但し、インストール後はサービスが自動起動になりますので、必ず『手動』に切り替えておかないと Oracle はかなりのリソースを使用するので PC が重くなります。サービスは 2つで、XE の場合、OracleServiceXE と OracleXETNSListener で、前者が Oracle データベースのサービスで、後者が通信用のサービスです。 こちらに、インストール時のスクリーンショットを用意しましたが、特筆すべきはなにもありません。 接続確認 インストールされたプログラムに、『SQLコマンドラインの実行(sqlplus.exe /nolog)』がありますから、そこで connect と入力して、system と パスワード(大文字小文字を区別します)を入力してログインします。どうせですから、その際に HR ユーザのアンロックと、ゴミ箱機能の解除をしておくといいと思います。 ALTER USER HR ACCOUNT UNLOCK IDENTIFIED BY password; ▼ ゴミ箱機能の解除 ▼ 解除後、再起動したシステムパラメータ ▼ SPFILE("C:\oraclexe\app\oracle\product\11.2.0\server\dbs\SPFILEXE.ORA") の状態 ネット・サービス名の確認 XE と決まっていますが、一応。 場所 : "C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora"
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = PC名)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

ODBC による接続確認

インストールされた、Oracle in XE という ODBC ドライバで DSN を作成します。ODBC ドライバ単体で接続確認ができますが、DSN を使ってすぐ SHIFT_JIS 環境のアプリケーションからもアクセス可能となります。



スキーマの作成

これが一筋縄では行きませんが、SQL をひたすら実行するだけなので間違いをできるだけ避ける為に、ここでは SQL の窓を使います。



解凍して、WinOfSql.exe を実行し、『O』ボタンで表示されるログインダイアログで、DSN と system と パスワードを入力すると以下のようになります。



右側のテキストエリアで、SQL 文を実行できますので、ACT ボタンで以下の SQL を一つづつ全て実行します。

▼ テーブルスペース作成
create tablespace LIGHTBOXAREA
datafile 'C:\oraclexe\app\oracle\oradata\XE\LIGHTBOX.ORA'
	size 5M
	autoextend on
	next 1M
	maxsize unlimited
segment space management AUTO
ファイルの拡張子は、システムと同じ .DBF でもいいですが、.ORA のほうがユーザ専用として解りやすいので使っています( Oracle 7の名残です ) ▼ ユーザ作成
create user LIGHTBOX
	identified by パスワード
	default tablespace LIGHTBOXAREA
	temporary tablespace TEMP
	quota unlimited on LIGHTBOXAREA
	account unlock
パスワードは大文字小文字を区別するので注意して下さい( あとからでも変更できます / ALTER USER ユーザ名 IDENTIFIED BY パスワード ) ▼ ロール作成
create role LIGHTBOX_ROLE
▼ ロールに権限付与
grant 
	 ALTER PROFILE 
	,ALTER SESSION 
	,ALTER SYSTEM 
	,ALTER TABLESPACE 
	,ALTER USER 
	,CREATE PROCEDURE 
	,CREATE PROFILE 
	,CREATE PUBLIC SYNONYM 
	,CREATE ROLE 
	,CREATE ROLLBACK SEGMENT 
	,CREATE SEQUENCE 
	,CREATE SESSION 
	,CREATE SYNONYM 
	,CREATE TABLE 
	,CREATE TABLESPACE 
	,CREATE TRIGGER 
	,CREATE VIEW 
	,EXECUTE ANY PROCEDURE 
	,SELECT ANY DICTIONARY 
	,SELECT ANY SEQUENCE 
	,SELECT ANY TABLE
to LIGHTBOX_ROLE
▼ ロールをユーザーに適用
grant LIGHTBOX_ROLE to LIGHTBOX
これでやっとテーブルを作成してデータを投入可能になります 状態確認 RDBMS 固有メニューから、『スキーマ一覧』を実行すると以下のようになっています。この後、作成したユーザでログインをしてエラーが無く、テーブル一覧がなにも表示されない事を確認します。 データ投入 MDB から データをインポートするスクリプトを用意していますので、スクリプトの DSN、ユーザ、パスワード を変更して実行して下さい。最初は、テーブルが存在しないので確認のメッセージボックスが表示されますが、2回目以降は一気に作成されます。 スクリプトには、VARCHAR2 用と NVARCHAR2 用があります。都合の良いほうを実行して下さい。 さらに Oracle を管理する為に SQL Developerの使い方〜ダウンロード、インストール、DB接続、SQL実行 関連する記事




posted by lightbox at 2014-05-02 18:45 | Oracle | このブログの読者になる | 更新情報をチェックする

2011年10月04日


Oracle Database 11g のJDBC実装では、SIDを使用したデータベースURL接続文字列は廃止されています

SQLJの基本事項

注意:
Oracle Database 11g のJDBC実装では、SIDを使用したデータベースURL接続文字列は廃止されています。次に例を示します(orclがSID)。 
jdbc:oracle:thin:@localhost:1521:orcl

警告が生成されますが、致命的なエラーではありません。かわりに、次の例のようにmyserviceなどのデータベース
・サービス名を使用することをお薦めします。
 jdbc:oracle:thin:@localhost:1521/myservice

 データベース・サービス名の詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。
TOMCAT の実装では、lib に ojdbc6.jar を置いて、プログラムで Class.forName( "oracle.jdbc.driver.OracleDriver" ); を実行した後、
// orcl はデフォルトです
DriverManager.getConnection("jdbc:oracle:thin:@PC名:1521/orcl","ユーザ","パスワード");

で接続確認しました。
( TOMCAT の classpath に登録すると、Class.forName は必要ありません )




タグ:Oracle JDBC
posted by lightbox at 2011-10-04 12:38 | Oracle | このブログの読者になる | 更新情報をチェックする

2010年07月01日


SQLPlus : 置換変数の概要と使い方

変数と言うより結局「実行前の置き換え」です。

定義せずに使った場合

SQL> select * from &TABLE_NAME;
table_nameに値を入力してください:

※ 入力を求められる


事前に定義してデータをセット

SQL> DEFINE TABLE_NAME = 社員マスタ
SQL> select * from &TABLE_NAME;

※ 入力は求められません
※ 再設定でも使います


意図的に変数に入力する

SQL> ACCEPT TABLE_NAME


変数の内容表示

SQL> PROMPT &TABLE_NAME
社員マスタ


スクリプト内部での利用例
-- 置換変数による表定義表示
COLUMN COLUMN_NAME FORMAT A40 HEADING '列名'
COLUMN DATA_TYPE FORMAT A10 HEADING 'データ型'
COLUMN NULLABLE FORMAT A4 HEADING 'NULL'
select COLUMN_NAME,DATA_TYPE,NULLABLE from USER_TAB_COLUMNS where TABLE_NAME = '&TARGET_TABLE';


スクリプトへの引数
-- 置換変数による表定義表示
COLUMN COLUMN_NAME FORMAT A40 HEADING '&1.列名'
COLUMN DATA_TYPE FORMAT A10 HEADING 'データ型'
COLUMN NULLABLE FORMAT A4 HEADING 'NULL'
select COLUMN_NAME,DATA_TYPE,NULLABLE from USER_TAB_COLUMNS where TABLE_NAME = '&1';

置換変数に続けて文字列を指定したい場合は、.で繋げます( 変数の終わりをインタープリタに知らせる為です )
社員マスタ列名                           データ型   NULL
---------------------------------------- ---------- ----
社員コード                               VARCHAR2   N
氏名                                     VARCHAR2   Y
フリガナ                                 VARCHAR2   Y
所属                                     VARCHAR2   Y
性別                                     NUMBER     Y
作成日                                   DATE       Y
更新日                                   DATE       Y
給与                                     NUMBER     Y
手当                                     NUMBER     Y
管理者                                   VARCHAR2   Y
生年月日                                 DATE       Y

11行が選択されました。



タグ:Oracle sqlplus
posted by lightbox at 2010-07-01 12:36 | Oracle | このブログの読者になる | 更新情報をチェックする

2009年10月26日


Oracle : スキーマ作成前にテーブルスペースの情報を取得する

スキーマを作成するのに、テーブルスペースが必要です。サーバのディスク情報やその他の情報を収集します。
sqlplus.exe SYSTEM/MANAGER@//light/XE @chk_tbl_space > nul
chk_tbl_space.sql
SPOOL result.txt
SET TRIMSPOOL ON 
SET FEEDBACK OFF
SET LINESIZE 32767
SET PAGESIZE 1000
COLUMN テーブルスペース名 FORMAT A20
select 
	TABLESPACE_NAME テーブルスペース名,
	CONTENTS タイプ,
	EXTENT_MANAGEMENT エクステント管理,
	round(FSIZE/1000000) "サイズ(M)",
	(FSIZE-FREESIZE)/1000000 "使用量(M)"
from
	DBA_TABLESPACES,
(
	select 
		V$TABLESPACE.NAME TNAME1,
		sum(BYTES) FSIZE
	from V$TABLESPACE,V$DATAFILE
	where
		V$TABLESPACE.TS# = V$DATAFILE.TS#
	group by V$TABLESPACE.NAME
) TSIZE,
(
	select 
		TABLESPACE_NAME AS TNAME2,
		sum(BYTES) AS FREESIZE 
	from DBA_FREE_SPACE
	group by TABLESPACE_NAME
) TFREE
where
	TABLESPACE_NAME = TNAME1 and
	TABLESPACE_NAME = TNAME2;
COLUMN FILE_NAME FORMAT A40
COLUMN TABLESPACE_NAME FORMAT A20
select FILE_NAME,TABLESPACE_NAME,ONLINE_STATUS
	from DBA_DATA_FILES;
EXIT


テーブルスペース名   タイプ             エクステント管理      サイズ(M)  使用量(M)
-------------------- ------------------ -------------------- ---------- ----------
SYSAUX               PERMANENT          LOCAL                       451 445.054976
SYSTEM               PERMANENT          LOCAL                       357   345.7024
UNDO                 UNDO               LOCAL                        94  87.949312
USERS                PERMANENT          LOCAL                       105   1.703936

FILE_NAME                                TABLESPACE_NAME      ONLINE_STATUS
---------------------------------------- -------------------- --------------
C:\ORACLEXE\ORADATA\XE\USERS.DBF         USERS                ONLINE
C:\ORACLEXE\ORADATA\XE\SYSAUX.DBF        SYSAUX               ONLINE
C:\ORACLEXE\ORADATA\XE\UNDO.DBF          UNDO                 ONLINE
C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF        SYSTEM               SYSTEM
関連する記事

SQL*Plusだけで CSV を作成する


posted by lightbox at 2009-10-26 23:53 | Oracle | このブログの読者になる | 更新情報をチェックする

2009年08月20日


Oracle : 既存スキーマの状態をチェック

Oracle 一般の話ですが、テストは 10g Express で行っています
REM *********************************************************
REM 1行に表示する文字の最大数
REM 32767 は、SET LINESIZE と入力すると、
REM linesizeオプション 0が範囲(1から32767)外です。
REM と表示される
REM *********************************************************
SET LINESIZE 160

REM *********************************************************
REM PAGESIZEを 0に設定すると、ヘッダー、
REM ページブレーク、タイトル、初期空白行
REM その他の書式設定情報をすべて非表示にできます
REM *********************************************************
SET PAGESIZE 50

REM *********************************************************
REM ONを指定すると、スプール行の終わりの空白が削除されます
REM ( コンソール表示とは無関係です )
REM *********************************************************
SET TRIMSPOOL ON

REM *********************************************************
REM レコード数表示や確認メッセージを非表示にします
REM *********************************************************
SET FEEDBACK OFF

REM *********************************************************
REM 出力を、画面に表示しません
REM *********************************************************
SET TERMOUT OFF

REM *********************************************************
REM 結果をファイルに格納します
REM *********************************************************
SPOOL 既存スキーマリスト.txt

COLUMN USERNAME FORMAT A20
COLUMN ACCOUNT_STATUS FORMAT A20
COLUMN DEFAULT_TABLESPACE FORMAT A20
COLUMN TEMPORARY_TABLESPACE FORMAT A20
COLUMN INITIAL_RSRC_CONSUMER_GROUP FORMAT A25

select USERNAME,ACCOUNT_STATUS,
DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,INITIAL_RSRC_CONSUMER_GROUP
 from DBA_USERS
/

REM *********************************************************
REM スプールを停止します
REM *********************************************************
SPOOL OFF

REM *********************************************************
REM SQL*Plus を終了します
REM *********************************************************
EXIT

実行は SQL*Plusだけで CSV を作成する を参照して下さい。

10g Express インストール直後の結果は以下のようになります


USERNAME             ACCOUNT_STATUS       DEFAULT_TABLESPACE   TEMPORARY_TABLESPACE INITIAL_RSRC_CONSUMER_GRO
-------------------- -------------------- -------------------- -------------------- -------------------------
SYS                  OPEN                 SYSTEM               TEMP                 SYS_GROUP
SYSTEM               OPEN                 SYSTEM               TEMP                 SYS_GROUP
ANONYMOUS            OPEN                 SYSAUX               TEMP                 DEFAULT_CONSUMER_GROUP
MDSYS                EXPIRED & LOCKED     SYSTEM               TEMP                 DEFAULT_CONSUMER_GROUP
OUTLN                EXPIRED & LOCKED     SYSTEM               TEMP                 DEFAULT_CONSUMER_GROUP
DIP                  EXPIRED & LOCKED     SYSTEM               TEMP                 DEFAULT_CONSUMER_GROUP
TSMSYS               EXPIRED & LOCKED     SYSTEM               TEMP                 DEFAULT_CONSUMER_GROUP
FLOWS_FILES          EXPIRED & LOCKED     SYSAUX               TEMP                 DEFAULT_CONSUMER_GROUP
CTXSYS               EXPIRED & LOCKED     SYSAUX               TEMP                 DEFAULT_CONSUMER_GROUP
DBSNMP               EXPIRED & LOCKED     SYSAUX               TEMP                 DEFAULT_CONSUMER_GROUP
FLOWS_020100         EXPIRED & LOCKED     SYSAUX               TEMP                 DEFAULT_CONSUMER_GROUP
XDB                  EXPIRED & LOCKED     SYSAUX               TEMP                 DEFAULT_CONSUMER_GROUP
HR                   EXPIRED & LOCKED     USERS                TEMP                 DEFAULT_CONSUMER_GROUP




posted by lightbox at 2009-08-20 00:19 | Oracle | このブログの読者になる | 更新情報をチェックする

2009年08月19日


サービス開始 : Oracle 10g Express

Oracel_start

Oracle 10g Express Edition のインストール で、サービスは停止状態にしています。
使用する場合は、プログラムメニューの「データーベースの起動」を実行する事になります

これは、パッチファイルなのですが、一般の Oracle とは少しだけ起動処理が変わっていて、
サービスを起動した後に、インスタンスの起動をするようです。
net start OracleXETNSListener
net start OracleServiceXE
@oradim -startup -sid XE -starttype inst > nul 2>&1

XE は sid です。-starttype は インスタンスとして起動するという意味のようで
他に [-STARTTYPE srvc|inst|srvc,inst] と選択できます。
[-PFILE filename | -SPFILE] で環境を調整もできるようです


タグ:ORADIM
posted by lightbox at 2009-08-19 22:50 | Oracle | このブログの読者になる | 更新情報をチェックする

2009年08月16日


Oracle 10g Express Edition のインストール

ダウンロードに関しては、
Oracle Database 10g Express Edition (Universal) のダウンロード をご覧下さい。


開始画面




この二つの画面は普通に次へ






SYSTEM ユーザのパスワード

慣例的に、ここでは MANAGER と入力したとします。
( Oracle 7 当時のデフォルトパスワードです )




以降は実際のインストール画面








Oracle のインストールが終わったら、サービスが自動起動になっているので、「手動」に必ず変更しておきます

Oracle は本来専用 PC で運用するものなので、メモリや CPU にとても負荷がかかります。普段は必要無いですし、必要な時のみ起動するようにします。


Oracel_service


起動用のバッチファイルが登録されたメニュー

Oracel_start


posted by lightbox at 2009-08-16 19:37 | Oracle | このブログの読者になる | 更新情報をチェックする

2009年07月13日


Oracle : 貴重な擬似列 ROWID

Oracle は全てのテーブルに ROWID という列を持っており、明示する事によって表示する事ができますが、常にその値を使って更新が可能です。

主キーを持たない全く同じデータを複数行持つテーブルでも、1行毎にユニークに値を持つので更新する事ができます

ユーティリィティ(ツール)を作る場合に重宝します。( ADO のような API 経由ですと、bookmark を使います )
select ROWID,社員コード,給与 from 社員マスタ

ROWID社員コード給与
AAAGlMAAFAAAAFfAAA0001270000.
AAAGlMAAFAAAAFfAAB0002300000.
AAAGlMAAFAAAAFfAAC0003250000.
AAAGlMAAFAAAAFfAAD0004250000.
AAAGlMAAFAAAAFfAAE0005150000.
AAAGlMAAFAAAAFfAAF0006300000.
AAAGlMAAFAAAAFfAAG0007170000.
AAAGlMAAFAAAAFfAAH0008240000.
AAAGlMAAFAAAAFfAAI0009290000.
AAAGlMAAFAAAAFfAAJ0010180000.
▼ 更新
update 社員マスタ
	set 給与 = 500000
where
	ROWID = 'AAAGlMAAFAAAAFfAAA'



タグ:Oracle 擬似列
posted by lightbox at 2009-07-13 17:12 | Oracle | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Windows
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
PHP正規表現チェッカー
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり