今天手工添加oracle的數據庫實例(實例名:orcl_new),相對於我這種小白還是有一定的難度的,值得記錄下來和大家分享
1.使用oracle用戶登錄主機,進入到oracle安裝目錄下,執行以下命令
cd /usr/oracle/app
mkdir -p admin/orcl_new/adump
mkdir -p admin/orcl_new/bdump
mkdir -p admin/orcl_new/cdump
mkdir -p admin/orcl_new/udump
mkdir -p admin/orcl_new/pfile
mkdir -p admin/orcl_new/create
mkdir -p oradata/orcl_new(用於存放控制文件之類的)
mkdir -p flash_recovery_area/orcl_new
2.進入目錄:/usr/oracle/app/oracle/product/11.2.0/dbhome_1/dbs,創建初始化腳本initorcl_new.ora(建議複製原有的init.ora文件,文件名:initorcl_new.ora 中的orcl_new爲我們新建的實例名,修改其中的如下內容)
db_name='orcl_new'
audit_file_dest='/usr/oracle/app/admin/orcl_new/adump'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCL_NEWXDB)'
control_files = (/data/oracle/app/oradata/orcl_new/ora_control1,/data/oracle/app/oradata/orcl_new/ora_control2)
注:要注意,上面的內容要修改五個地方,特別要注意的是SERVICE,是實例名+XDB,博主之前就忘記了,還有control_files一定要放到各自實例的對應目錄下,千萬別覆蓋了原來已有的實例的文件,不然你的靈魂會得到昇華,親身經歷。
3.將實例切換到我們要新建的orcl_new(很重要,很重要,很重要,接下來的每一步操作都意味着是在操作這個oracle實例)
export ORACLE_SID=orcl_new
4.創建口令文件,口令文件存放路徑我是跟我們第2步初始化腳本存放在一起的(注意:orapworcl_new 其中orcl_new是我們要新建的實例名)
orapwd file="/usr/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl_new" password=oracle entries=10;
5.進入到我們的oracle控制檯,並且連接到sysdba用戶
sqlplus /nolog
conn /as sysdba
startup nomount;
這裏強烈建議執行下面命令,再次確認我們是否已經切換到了我們即將新建的orcl_new,查看是否打印了orcl_new
show parameter instance_name;
6.執行命令,創建數據庫(注意其中的路徑跟您是否一致,如果一致可直接複製粘貼執行,不一致的根據自身情況修改)
CREATE DATABASE orcl_new
USER SYS IDENTIFIED BY sys
USER SYSTEM IDENTIFIED BY manager
LOGFILE GROUP 1 ('/usr/oracle/app/oradata/orcl_new/redo01.log') SIZE 20M,
GROUP 2 ('/usr/oracle/app/oradata/orcl_new/redo02.log') SIZE 20M,
GROUP 3 ('/usr/oracle/app/oradata/orcl_new/redo03.log') SIZE 20M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/usr/oracle/app/oradata/orcl_new/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/usr/oracle/app/oradata/orcl_new/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users datafile '/usr/oracle/app/oradata/orcl_new/users_01.dbf' size 500m
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/usr/oracle/app/oradata/orcl_new/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/usr/oracle/app/oradata/orcl_new/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
7.繼續執行腳本,創建字典及視圖(下面命令請一條一條的在oracle控制檯執行,其中第三條和第四條的執行時間稍微會久點,估計要20-30分鐘)
conn sys as sysdba
@?/rdbms/admin/catalog.sql;
@?/rdbms/admin/catproc.sql;
@?/rdbms/admin/catblock.sql;
@?/rdbms/admin/catoctk.sql;
@?/rdbms/admin/owminst.plb;
conn system/ manager
@?/sqlplus/admin/pupbld.sql;
@?/sqlplus/admin/help/hlpbld.sql helpus.sql
8.到這一步,恭喜你,實例以及創建成功了,但是我們要需要配置監聽文件,才能夠使用該實例,進修改文件:/usr/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora,往裏添加以下內容,千萬要注意到格式,別大風大浪都過來了,小陰溝裏翻了船。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle_produce)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /usr/oracle/app
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl_new)
(ORACLE_HOME = /usr/oracle/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = orcl_new)
)
)
9.然後配置本地Pl/SQL的tnsnames.ora文件
orcl_new =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle_produce)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl_new )
)
)
10.給我們新建的實例添加用戶並解鎖
create user orcl identified by Abc_123;
alter user orcl account unlock;
11.給上一步新建的用戶進行賦權,具體需要什麼權限根據自身情況定製
grant create session to orcl; //創建session權限,及登錄的權限
grant unlimited tablespace to orcl; //使用表空間權限
grant create table to orcl; //建表權限
grant drop any table to orcl; //刪除表權限
grant insert any table to orcl; //插入表權限
grant update any table to orcl; //修改表權限
grant create view to orcl; //創建視圖權限
12.到這裏我們就全部結束了,可以使用pl/sql工具進行登錄了,希望對你有用。