Похоже, вы могли бы сократить количество аргументов, построив объекты, такие как Axon
, Soma
и DendriticTree
вне конструктора LayerV, и передав эти объекты.
Некоторые из параметры используются только при построении, например DendriticTree
, другие также используются в других местах, поэтому проблема не такая четкая, но я определенно попытаюсь использовать этот подход.
@DAC
Короче говоря: SID = уникальное имя Вашего DB, ServiceName = псевдоним, используемый при соединении
Не строго верный.. SID = уникальное имя ЭКЗЕМПЛЯРА (например, процесс оракула, работающий на машине). Oracle полагает, что "База данных" файлы.
Сервисное Название = искажают к ЭКЗЕМПЛЯРУ (или многим экземплярам). Основная цель этого состоит в том при выполнении кластера клиент может сказать, "подключают меня к SALES.acme.com", DBA может на лету изменить количество экземпляров, которые доступны запросам SALES.acme.com, или даже перемещают SALES.acme.com в совершенно другую базу данных без клиента, бывшего должного изменить любые настройки.
См.: http://www.sap-img.com/oracle-database/finding-oracle-sid-of-a-database.htm
, Что является различием между Oracle SIDs и НАЗВАНИЯМИ УСЛУГ Oracle. Один инструмент конфигурации ищет СЕРВИСНОЕ НАЗВАНИЕ, и затем следующее ищет SIDs! Что продолжается?!
SID Oracle является уникальным именем, которое однозначно определяет Ваш экземпляр/базу данных, где, поскольку Сервисное название является псевдонимом TNS, который Вы даете, когда Вы удаленно соединяетесь со своей базой данных, и это Сервисное название зарегистрировано в файле Tnsnames.ora на Ваших клиентах, и это может совпасть с SID, и можно также дать ему любое другое имя, которое Вы хотите.
SERVICE_NAME является новой возможностью от оракула 8i вперед, в котором база данных может зарегистрировать себя в слушателе. Если база данных регистрируется в слушателе таким образом тогда, можно использовать параметр SERVICE_NAME в tnsnames.ora иначе - SID использования в tnsnames.ora.
Также, если у Вас есть OPS (RAC), у Вас будет различный SERVICE_NAME для каждого экземпляра.
SERVICE_NAMES определяет одно или несколько названий сервиса базы данных, с которым соединяется этот экземпляр. Можно определить имена многочисленных услуг для различения различное использование той же базы данных. Например:
SERVICE_NAMES = sales.acme.com, widgetsales.acme.com
можно также использовать сервисные названия для идентификации единственного сервиса, который доступен от двух различных баз данных с помощью репликации.
В среде Oracle Parallel Server, необходимо установить этот параметр для каждого экземпляра.
Короче говоря: SID = уникальное имя Вашего экземпляра DB, ServiceName = псевдоним, используемый при соединении
Согласно глоссарию Oracle:
SID - это уникальное имя для экземпляра базы данных Oracle. ---> Для переключения между базами данных Oracle пользователи должны указать желаемый SID <---. SID включен в части CONNECT DATA дескрипторов соединения в файле TNSNAMES.ORA и в определение сетевого слушателя в файле LISTENER.ORA. Также известен как системный идентификатор. Имя службы Oracle может быть любым описательным, например MyOracleServiceORCL. В Windows вы можете использовать свое имя службы как службу в службах Windows.
Лучше использовать SID в TNSNAMES.ORA.