11g文件學習2----建立資料庫
學習oracle官方之路 ---- 11g Release 2 (11.2)
Oracle Database Administrator's Guide
11g Release 2 (11.2)
E25494-05
Creating and Configuring an Oracle Database
建立資料庫有兩種方式,其中dbca又分為兩種;
(1)Creating a Database with DBCA
(a)Creating a Database with Interactive DBCA
(b)Creating a Database with Noninteractive/Silent DBCA
(2)Creating a Database with the CREATE DATABASE Statement
本文件主要學習命令列建立資料庫,操作步驟如下:
Step 1: Specify an Instance Identifier (SID)
sid 最長8個字元;部分平臺sid區分大小寫;
linux/unix平臺設定sid的方法,注意不同的語言不同設定方法。
Bourne, Bash, or Korn shell:
ORACLE_SID=mynewdb
export ORACLE_SID
C shell:
setenv ORACLE_SID mynewdb
windows平臺設定sid的方法
set ORACLE_SID=mynewdb
Step 2: Ensure That the Required Environment Variables Are Set
檢視ORACLE_SID和ORACLE_HOME是否設定好;
Step 3: Choose a Database Administrator Authentication Method
選擇一種管理員認證方法,
(1)透過密碼檔案認證;
(2)透過系統認證;
Step 4: Create the Initialization Parameter File
手動建立的引數至少包括DB_NAME,CONTROL_FILES,MEMORY_TARGET;其他引數不寫將會自動使用預設值;
建立好的引數檔案放在預設位置,資料庫啟動時將自動設別;
建立資料檔案儲存路徑
[root@OL541 u01]# mkdir -p /u02/data
[root@OL541 u02]# mkdir arclog
編輯引數檔案:/u01/app/oracle/product/11.2.0/db_1/dbs/pfileorcl.ora,內容如下:
db_name='orcl'
memory_target=900M
control_files = (/u02/data/control1.ctl,/u02/data/control2.ctl,/u02/data/control3.ctl)
Step 5: (Windows Only) Create an Instance
On the Windows platform, before you can connect to an instance, you must manually create it if it does not already exist. The ORADIM command creates an Oracle instance by creating a new Windows service.
To create an instance:
Enter the following command at a Windows command prompt:
oradim -NEW -SID sid -STARTMODE MANUAL -PFILE pfile
where sid is the desired SID (for example mynewdb) and pfile is the full path to the text initialization parameter file. This command creates the instance but does not start it.
Caution:Do not set the -STARTMODE argument to AUTO at this point, because this causes the new instance to start and attempt to mount the database, which does not exist yet. You can change this parameter to AUTO, if desired, in Step 14.
Step 6: Connect to the Instance
Start SQL*Plus and connect to your Oracle Database instance with the SYSDBA system privilege.
To authenticate with a password file, enter the following commands, and then enter the SYS password when prompted:
$ sqlplus /nolog
SQL> CONNECT SYS AS SYSDBA
To authenticate with operating system authentication, enter the following commands:
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL*Plus outputs the following message:
Connected to an idle instance.
Step 7: Create a Server Parameter File
透過pfile檔案建立spfile;建立後重啟資料庫,資料庫將自動讀取spfile檔案啟動;
CREATE SPFILE FROM PFILE;
SYS@orcl>create spfile from pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/pfileorcl.ora';
Step 8: Start the Instance
STARTUP NOMOUNT
At this point, the instance memory is allocated and its processes are started. The database itself does not yet exist.
@>conn / as sysdba
Connected to an idle instance.
SYS@orcl>startup nomount
ORACLE instance started.
Total System Global Area 941600768 bytes
Fixed Size 1348860 bytes
Variable Size 549456644 bytes
Database Buffers 385875968 bytes
Redo Buffers 4919296 bytes
Step 9: Issue the CREATE DATABASE Statement
Example 1
編寫建立資料庫指令碼:
vim create_database.sql
內容如下:
CREATE DATABASE orcl
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u02/data/orcl/redo01.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u02/data/orcl/redo02.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u02/data/orcl/redo03.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 30
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u02/data/orcl/system01.dbf' SIZE 450M REUSE
SYSAUX DATAFILE '/u02/data/orcl/sysaux01.dbf' SIZE 450M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u02/data/orcl/users01.dbf'
SIZE 10M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u02/data/orcl/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u02/data/orcl/undotbs01.dbf'
SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
===================================================================
Example 2
pfileorcl.ora 檔案中只有db_name='orcl'
create spfile from pfile='/u02/data/orcl/pfileorcl.ora';
退出sql,重進
startup nomount
alter system set db_create_file_dest='/u02/data/orcl' scope=spfile;
重啟資料庫到mount狀態;
建立資料庫的指令碼如下:
CREATE DATABASE orcl
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs
DEFAULT TABLESPACE users;
Step 10: Create Additional Tablespaces
建立額外的表空間
編寫指令碼:[oracle@OL541 ~]$ vi create_tbs.sql
CREATE TABLESPACE apps_tbs LOGGING
DATAFILE '/u02/data/orcl/apps01.dbf'
SIZE 50M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace (optional)
CREATE TABLESPACE indx_tbs LOGGING
DATAFILE '/u02/data/orcl/indx01.dbf'
SIZE 10M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
Step 11: Run Scripts to Build Data Dictionary Views
Run the scripts necessary to build data dictionary views, synonyms, and PL/SQL packages, and to support proper functioning of SQL*Plus.
conn / as sysdba
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
指令碼作用
Script Description
CATALOG.SQL Creates the views of the data dictionary tables, the dynamic performance views, and public synonyms for many of the views. Grants PUBLIC access to the synonyms.
CATPROC.SQL Runs all scripts required for or used with PL/SQL.
PUPBLD.SQL Required for SQL*Plus. Enables SQL*Plus to disable commands by user.
3個指令碼依次執行完成,但發現沒有日誌輸出記錄,下次得建一個日誌輸出;
Step 12: (Optional) Run Scripts to Install Additional Options
建立額外的物件
Step 13: Back Up the Database.
備份資料庫
停止資料庫,可整個複製一下;
Step 14: (Optional) Enable Automatic Instance Startup
windows下設定允許自動啟動
ORADIM -EDIT -SID sid -STARTMODE AUTO -SRVCSTART SYSTEM [-SPFILE]
附錄:
1、使用者密碼問題
USER SYS IDENTIFIED BY password
USER SYSTEM IDENTIFIED BY password
這兩個選項在建立資料庫時不是必須的,但強烈建議使用;
他們預設密碼分別是:sys/change_on_install,system/manager
2、local managed tablespace
EXTENT MANAGEMENT LOCAL 指定本選項將使用本地管理方式,同時引數檔案中COMPATIBLE必須設定大於10.0.0;
如不指定EXTENT MANAGEMENT LOCAL,將預設使用不推薦的字典管理表空間;
3、關於SYSAUX表空間
SYSAUX表空間是system的輔助表空間,不可刪除或重新命名;在建立初始不得小於400M;
SYSTEM表空間的屬性和SYSAUX一樣;
4、關於undo 表空間
建立資料庫時不指定undo表空間,系統將自動建立一個名為SYS_UNDOTBS的表空間;
spfile引數中undo_management預設是AUTO,undo_retention預設是900;
5、關於temp表空間;
如果system表空間採用本地管理模式,system表空間將不能用作為臨時表空間;
6、Specifying Oracle Managed Files at Database Creation
使用OMF將減少大量建立資料庫需要的命令;你只需要指定一個目錄或ASM磁碟;
OMF需在spfile中設定相關的引數如下:DB_CREATE_FILE_DEST, DB_CREATE_ONLINE_LOG_DEST_n, or DB_RECOVERY_FILE_DEST
OMF可管理的檔案:
Tablespaces and their data files
Temporary tablespaces and their temp files
Control files
Redo log files
Archived redo log files
Flashback logs
Block change tracking files
RMAN backups
7、大資料檔案表空間
大資料檔案表空間只能有一個資料檔案,該資料檔案可有最多4G blocks;每個資料庫最多64K個資料檔案;
8、表空間型別
如不指定表空間型別,即SET DEFAULT BIGFILE TABLESPACE or SET DEFAULT SMALLFILE TABLESPACE,則會預設採用smallfile tablespace;
示例:建立資料庫時採用大資料檔案表空間;
CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
SET DEFAULT BIGFILE TABLESPACE
UNDO TABLESPACE undotbs
DEFAULT TEMPORARY TABLESPACE tempts1;
建立資料庫後修改預設表空間型別;
ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;
查詢當前資料庫的表空間預設型別;
SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'DEFAULT_TBS_TYPE';
SYSTEM和SYSAUX表空間始終採用預設的表空間型別,但對UNDO和DEFAULT TEMP表空間可特別指定表空間型別;
9、關於資料庫Time Zone and Time Zone File
在建立資料庫時如SET TIME_ZONE 可指定資料庫時區,如不用則採用作業系統的時區;
資料庫有兩個時區檔案
預設時區檔案:ORACLE_HOME/oracore/zoneinfo/timezlrg_11.dat.
小一點的時區檔案:ORACLE_HOME/oracore/zoneinfo/timezone_11.dat.
查詢當前資料庫使用的時區檔案中的時區名:SELECT * FROM V$TIMEZONE_NAMES;
所有的資料庫共享資訊必須使用相同的時區資料檔案;
不建議使用小的時區檔案;
10、Specifying FORCE LOGGING Mode
NOLOGGING引數可導致資料庫一些操作不寫redo,雖然提高效率,但出問題將無法恢復。
取消資料庫強制日誌:ALTER DATABASE NO FORCE LOGGING;
檢視當前資料庫是否強制日誌模式:select FORCE_LOGGING from v$database;
強制日誌模式,資料庫級別優先於表空間級別;
oracle建議資料庫和表空間不要同時設定成強制日誌模式;
重建控制檔案後會丟失強制日誌模式,所以在重建控制檔案時應指定強制日誌模式;
不使用強制日誌模式情況:效能極大降低,對恢復無大要求,沒有執行在歸檔模式下。
11、Specifying Initialization Parameters
pfile引數只要有DB_NAME就能啟動,其他引數會取預設值;
DB_NAME must be set to a text string of no more than eight characters. During database creation, the name provided for DB_NAME is recorded in the data files, redo log files, and control file of the database. If during database instance startup the value of the DB_NAME parameter (in the parameter file) and the database name in the control file are different, the database does not start.
Fast Recovery Area,不能使用裸裝置;
控制檔案,不指定位置,系統將自動在引數檔案目錄內建立。
block size 32K只能用於64-bit平臺上。
PROCESSES 是指允許最多的作業系統程式與oracle 通訊;
DDL_LOCK_TIMEOUT,預設值是0;To enable DDL statements to wait for locks, specify a DDL lock timeout—the number of seconds a DDL command waits for its required locks before failing.
COMPATIBLE :控制資料庫所能使用的功能;建立庫時引數不指定,則使用當前軟體版本11.2.0,不能降級;
license:license_max_sessions和license_max_users可控制資料庫使用者數和連線量;
建立spfile:CREATE SPFILE FROM MEMORY; 或create pfile='/u02/data/pfiletmp.ora' from memory;
12、CloneDB
11.2.0.3開始支援CloneDB;
13、Dropping a Database
刪除資料庫,將刪除控制檔案和控制檔案中所列的資料檔案;不會刪除歸檔日誌;
命令:DROP DATABASE;
刪除資料庫操作建議將資料庫置於restrict模式;在restrict模式時,不能透過TNS連線,只能管理員在本地連線;
startup mount restrict
drop database;
或者:
startup
alter database close;
alter system enable restricted session;
drop database;
就是說drop database 必須處於mount restrict模式;
資料庫啟動
只讀模式:ALTER DATABASE OPEN READ ONLY;
預設的讀寫模式:ALTER DATABASE OPEN READ WRITE;
14、資料庫字典檢視
View Description
DATABASE_PROPERTIES Displays permanent database properties
GLOBAL_NAME Displays the global database name
V$DATABASE Contains database information from the control file
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-1426747/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FastAPI 學習之路(三十二)建立資料庫ASTAPI資料庫
- 手工建立ORACLE 11g 資料庫Oracle資料庫
- 【原】學習系列—資料庫優化—建立效能良好的資料庫資料庫優化
- Activiti學習筆記一:建立資料庫表筆記資料庫
- 【DATAGUARD 學習】使用duplicate 建立物理standby 資料庫資料庫
- oracle 學習總結篇一: 資料庫的建立Oracle資料庫
- 11g文件學習----sql連線SQL
- 資料庫學習資料庫
- 11g文件學習----sysdba sysoper OSDBA OSOPER
- 只有官方文件的情況下建立資料庫需要參考的文件資料庫
- 學習MongoDB資料庫MongoDB資料庫
- TimesTen學習(二)連線建立第一個資料庫資料庫
- Sql Server 資料庫學習-常用資料庫 物件SQLServer資料庫物件
- Oracle使用DBCA建立資料庫指令碼追蹤學習案例(二)Oracle資料庫指令碼
- Oracle使用DBCA建立資料庫指令碼追蹤學習案例(一)Oracle資料庫指令碼
- Hibernate學習(一)建立資料表
- 建立資料庫資料庫
- Flask學習之旅--資料庫Flask資料庫
- 資料庫學習筆記資料庫筆記
- 達夢資料庫學習資料庫
- 【從零開始學習Oracle資料庫】(4)建立表與增刪改和資料庫事務Oracle資料庫
- PostgreSQL 資料庫學習 - 0. 資料庫安裝SQL資料庫
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- 建立學校圖書館資料庫 BookDB資料庫
- MySQL 建立資料庫 建立表MySql資料庫
- Express 文件(資料庫整合)Express資料庫
- Oracle 11g靜默安裝軟體+手工建立資料庫Oracle資料庫
- 資料庫學習(二)資料操作語言:資料庫
- 學習資料庫索引機制資料庫索引
- SQLSERVER學習1——資料庫概念SQLServer資料庫
- 資料庫學習線路圖資料庫
- MySQL資料庫學習筆記MySql資料庫筆記
- 達夢資料庫學習心得資料庫
- 程式猿資料庫學習指南資料庫
- SQL 資料庫學習 Part 2SQL資料庫
- 資料庫學習:在資料庫中存取檔案(轉)資料庫
- 建立資料庫表資料庫
- Mysql建立資料庫MySql資料庫